Skip to main content

Full text of "TS-2068 Up-date"

See other formats


B | b 2 fe JULY 1991 
- : $ 4.95 


MACAT IE 


or SINCLAIR COMPUTERS 


THE Z88 unpER 2 Lbs. 


A Computer Without Compromise 


ve 15208 wemerse {DATE EORPUTER SYSTERS 
PO. Box 1995 
Peel, fidiana 46970 


MEWS Alo Mev SRO00UCTS 


& UPDATE COMPUTER SYSTEMS + 


UPDATE COMPUTER SYSTEMS is Edited and Published by Carol and Frank 
Davis of P.O. Box 1095, Peru, Indiana 46970. Phone number is 
317-475-8031, with normal phone hours being between 5 P.M. and 9:30 
P.M. Eastern Time during the week and Noon > 6 P.M. on weeke ‘ 

we are not there or unavailable, please leave a message with our 
anewering machine. Unless urgent you will be answered by mail. 


@ month 


Mailing date for all issues is the fifteenth of the i 


The magazine 1g published on s& quarterly basis in the months of 
Gctober, January, April and July. All subecriptions begin and end at 
the same time...first issue being Gctober and all renewals coming due 
after receipt of the July issue. The cost is $18.00 U.S. for a one year 
subseription for North America, and for those outside of this area 
£20.00 U.S. We accept personal and business checks, money orders and to 
obtain back issues prior to October 1990, please contact the former 
Publisher, Bill Jones at 1317 Stratford Ave., Panama City, Florida 
32404, He will gladly provide you with the needed issues and 
information. The use of a Self Addressed Stamped Envelope would be 
appreciated and help to speed a reply 


Assistance in Publishing this magazine is provided by Eliad P. Wannum, 
poet, computer user and all round good guy. The magazine is made 
possible by the regular contributors such as Peter Hale, Bill Cable, Al 
Feng, Bob Hartung to name a few, and by the many contributions of other 
writers and programmers. Your contributions to this magazine are 
welcome. This is truly a magazine BY THE USER AND FOR THE USER OF 
SINCLAIR, TIMEX AND CAMBRIDGE COMPUTERS. When we cover other operating 
systems such as CPH or MSDOS it will be in relationship to our 
computers or emulators for our systems to run their software. We 
primarily cover disk based systems and software for the TS2068, 
Spectrum, QL, Z88,..and will cover items on the 151000 if disk drive 
based or in relationship to using it with the above mentioned 
computers. Ve do accept reviews of peripherals that are useable by our 
systems, such as scanners, printers, modems, etc. Submissions should be 
on dick or hard copy (two copies and at least NLQ, no draft mode). If 
there is artwork, please let us know in what order it should be used, 
and provide it as a saved screen or hard copy screen dump. The format 
is very relaxed. Just pay attention to the width of the pages and allow 
3/4 inch top and bottom, and mke the left and right margins wide 
enough to accomodate a 3 hole punch that does not cut out some of the 
text. We have enlarge and reduction capacity to adjust a page, but may 
lose some print legibility in the process. Most important is 
legibility. Draft quality dot matrix does not reproduce well. Print 
size preference is ELITE 12 characters per inch. PICA 10 characters 
per inch is okay also, but please no condensed print. Please do not 
make programs submitted on cassette tape under any circumstance, disk 
or hardcopy only. Exceptions to this would be the wafers used on the 
Rotronics Wafadrive for the Spectrum or TS2068 with emulator. 288 
programs on disk may be in either IBM or QL format or hardcopy. TS2068 
programs may be LLISTED in 32 chr. lines, but that is not solely 
neceseary, just do not send a copy protected disk that neede to be 
LLISTED. 


UPDATE COMPUTER SYSTEMS PAGE DIRECTORY, JULY 1991 


The computer that an article concerns is marked by using the 
following mark at the start of the page number-TS2068 = *,QL = # 
,288 = % . There will be no mark if the article or ad applies to 
all or several different computer systems. 


Inside Front Cover contains magazine basic information 
Page No. 1---Directory 
Page No. 2---Editorial by Frank Davis 
Page No. 3---The Dayton Computerfest--Sinclair Sub Show 
Page No. 4---Basic Programming with DEF FN() And Boolean 
Logic--by Bill Jones 
*Page No. 7---TS2068 Tool to Convert Chr Strings by B. Jones 
«Page No. 8---Tape Loading Suggestions from RMG 
*Page No. 9---Character String Emulation in HiSoft Pascal 
by David Solly 
*Page No. 14---2068 Home Rom Corrections-Part II by 
Bill Pedersen 
%Page No. 20---Z88 RAM & ROM 
%Page No. 21---A Review of “Manual A" for the Z88 by Eliad P. 
Wannum 
*Page No. 22---Byte Power Ad 
Page No. 23---Exploring DEF FN and FN (For All Computers) by 
Bill Jones 
#Page No. 25---Q@L Genealogist--Review by Gary Norton 
Page No. 26---dustified Translates by Bob Hartung 
%Page No. 26---Z88 Using Extra RAM & EPROM 
#Page No. 27---When to Upgrade: The QL in Transition by Al 
Feng (not necessarily the view of UPDATE-ed) 
Page No. 29---Errata and Addenda by Bob Hartung 
*Page No. 29---Print Factory-John McMichael Ad 
Page No. 30O---RMG Ad 
#Page No. 31---Files 2--Review by Peter Hale 
Page No. 32---EMSoft Ad 
#Page No. 33---Cable Column--Archive Part 5 by Bill Cable 
tPage No. 34---Wood & Wind Computing Ad 
#Page No. 35---Bad QL Membranes Crisis Intervention by Peter 


1 


Hale ; 
Page No. 36---Mechanical Affinity Ad 
Page No. 37---Computerfest ’91 -- DMA 


Page No. 38---Dayton Area Map 

«Page No. 39---The Sinclair Desktop Publishing Journal by Mike 
Felerski ' 

#Page No. 46---QL Desktop Publishing by Frank Davis 


#Page No. -QLUSTer_LITE by Al Feng 

#Page No. -Check Book Balancer by Bill Woodward 
%Page No. -MACroSystems, E.T.C. Ad 

#Page No. -IQLR Subscription Form 

Page No. -Subscription Renewal -- UPDATE 

Back Covers ---Issue Disks for TS2068 and QL 


All material used in this publication is copywritten and remains 
solely in ownership by either the Magazine or the author. To 
reprint from this magazine please contact either the magazine 
or specific author. All Issue Disks are copyrighted and remain 
the property of the software author. All hardware advice is 
followed at the users sole risk. 


EDITORIAL by Frank W. Davis 


We have come to the end of our first year of publishing 
UPDATE Magazine, and will be continuing for at least another 
year. We urge everyone to renew and to get your friends to 
subscribe, as that will be what helps us decide whether to 
continue on into a third year for 1993. Please renew soon as 
your funds are what make it possible to put the magazine 
together and mail it out. As long as it pays its own way it 
stays. Now here are three literary items that should be of 
interest to all of you and I hope you will take the time = and 
energy to check them out and give them your support. 

The first is ZXIR QLIVE ALIVE, the Newsletter of T/SNUG, the 
group hoping to carry on from SNUG (perhaps merge SNUG into it). 
It is a quarterly newsletter supporting all Sinclair Computers. 
It is available for the price of membership, which is $12 for 
individuals and $15 for User Groups or Computer Clubs. It is 
available from Don Lambert at, 1301 Kiblinger Place, Auburn, IN 
46706 and heavily supported by Bob Swoger of CATUG. They are 
soliciting material for their newsletter. 

The second new publication on the scene comes from Seacoast 
Services, 15 Kilburn Court, Newport, RI 02840. It is called 
International QL Report, and truly does give one the needed 
information on what is available for the QL worldwide. I have 
received the first issue and the second is ready to be mailed. 
It will come out 4 to 6 times a year for the price of $10.00. It 
was packed with info on how to order the products reviewed, new 
products , upgrades and information on who is working to try to 
further improve the QL. As I am the UPDATE Editor ( as well as 
the ISTUG group Editor ), I do not see this newsletter as a 
competitor, but as complements UPDATE and makes another source 
of data available to OL users. I have already subscribed, and 
have placed a copy of the subscription form on page 51 for you 
to photocopy and send in. 

The third new publication is the @L Survivors Source Book, 
which is a project of the Seacoast QL Users’ Group. It lists 
sources in the following four categories: all known QL HARDWARE 
SUPPLIERS, QL PUBLICATIONS (major), QL SOFTWARE SUPPLIERS, and 
QL USER GROUPS (or clubs for those who do not want to be called 
user groups) worldwide. Under each company/individual a number 
of their products (but not all) are listed. Due to changing 
rates on foreign orders, prices are not listed. _ 

The SOURCE BOOK is available in AUSTRALIA, GERMANY, ITALY 
and the UNITED KINGDOM. In NORTH AMERICA it is available from 
UPDATE MAGAZINE, P.O. Box 1095, Peru, In 46970. The cost in 
North America is $5.00 plus $2.00 US shipping (rest of the world 
slightly more). It is 8 1/2 by 11 inches and bound in 65% paper 
Carol and I have already started shipping to those who order it. 
It will be updated whenever necessary to keep up with the 
product scene. 

That is what is on the scene for new publications. I would 
like to see more done in this area. I would like to see someone 
offering support for those who still use the ZX81, 7TS1000, and 
the TS1500. Perhaps someone is doing so, but it is not broadly 
known. I would also like to have more material to publish in 
UPDATE on the Z88....please. Carol and I want to thank each and 
everyone of our subscribers and we look forward to another year. 

ERRATA: Peter Hale of EMSoft called to inform us of one small 
error on his ad on page 32. The Early Bird price for TAX-1-QL/91 
should read $19.95, instead of $24.95. 


@ 


THE DAYTON COMPUTERFEST- SINCLAIR SUB SHOW 
by F.W. Davis 


ISTUG has paid for a booth at COMPUTERFEST 91, so we are 
looking forward to seeing you there. UPDATE MAGAZINE and 
MECHANICAL AFFINITY have paid for two tables at the show. QUANTA 
will be represented by Paul Holmgren, the North American 
Librarian. The SMUG User Group from Milwaukee will be there, 
CATS from the D. C. area, CATUG, and Gary Ganger says he has 
also had word from West Virginia and Ottawa, Canada. Steve 
Spaulding of Sting Graphics tells me that he will be there along 
with a friend who has been upgrading the operating system of the 
Aerco Disk Interface. Paul Holmgren tells me that Eric Johnson 
hopes to be there with a table to sell parts and _ reconditioned 
units of Timex-Sinclair Computers. John Hammer (who repairs 
Timex computers) hopes to be there with Eric. SMUG will be 
bringing some more of what they have left of items formerly sold 
by ZEBRA. Paul Holmgren tells me that the Cleveland User Group 
will be there. I should also mention that the Dayton Micro 


Association Timex Sinclair SIG will of course be there. I hope 
that this is only the beginning of those who will show up. 
This is the largest computer show in the Midwest, with 


thousands of attendees, but the Sinclair and Timex booths should 
be in the same area. The show will start on Saturday, August 
24th at 10 AM and run to 6 PM and, conclude on Sunday, August 
25th by running from 10 AM to S PM. Tickets will cost you less 
($5.00 rather than $6.00) by ordering in advance. If we get a 
good turnout for this show it will probably be done again in 
1992, etc. For those who are interested, there will be a banquet 
on Friday night before the show. Give Gary Ganger of the Dayton 
user group a call for more information. Call at a reasonable 
hour, 513-849-1483. See you at the show! 


As it was Carol and I who instigated the original 
Timex-Sinclair Computerfest in Cincinnati; then produced the 
2nd Annual T-S Computerfest in Indianapolis the next year, and 


lent a hand at the Sinclair Reunion in Cleveland the next year; 
I feel I have a strong tradition of my own to push these’ shows 
to the max. We had a lot of excellent help from the likes of 
Paul Holmgren, Jack Roberts, Tom Burt, Gary Ganger, Willie 
Jones, to name but a few. I believe that shows like these, and 
the ones produced out in the Northwest, Milwaukee, D.C. and 
Florida over the past few years have had as much to do with new 
hardware and software for our computers as anything else. These 
shows, User Groups, Computer Clubs and their newsletters are the 
lifeblood of the hobby of computing. Take the time to show up 
at this show and give your personal support. If you can not be 
there , then pass the news on to someone else who can go to the 
show. Get together at the show with old friends; make new 
friends; get questions answered; support the vendors with your 
purchases and have a bit of fun. 

See you at the Dayton Computerfest. Further info on the show 
and who to contact for tickets is elsewhere in this issue of 
UPDATE Magazine. 

By the way, there will also be about a hundred or so non 
Timex dealers at this show for printers, disks, computer paper, 
modems, cables, software, computers, meetings, seminars, etc. 


3 


Basic Programming with DEF FN() 
And Boolean Logic 


By: Bill Jones 


Dont go away just yet! The program 
given with this article is a useful one. 
And it will work with whatever kind of 
computer you may have. So, lets see 
just what the program does first. Then 
you can decide whether or not to key it 
in and whether you'd like to explore the 
two subjects of discussion- Bool ean 
Logic and the DEF FN() function. 


NUMBER CONVERSIONS: The program 
takes any input of Decimal, Hex or 
Binary numbers and converts and prints 
all three equilivants. 


MIXED MATH: Can you Multiply 110 
hex times F hex? Can you Divide 104926 
by FF hex? Can you subtract "FFOZh — 
BIN 11110110"? Well I cannot do that. 
But this program eats it up. You can 
ADD mixed numbers, subtract mixed 
numbers, divide with mixed numbers, and 
multiply mixed numbers. The answers are 
given in all three number bases. But, 
when doing divisions, and the answer is 
a fraction, the HEX and Binary answers 
will be wrong. But not to worry, the 
given Decimal answer will be correct. 
Also, when doing mixed math, you can 
input the Decimal values as math 
expressions, ie: 2*PI*r, LW, if such 
variables have value. You could even 
input as a decimal value "FN a()", 
making the computer solve a FN function 
for the input. For BIN inputs be sure 
to use the BIN token before the number. 


BOOLEAN LOGIC is a natural for all 
computers. Boolean logic expressed in 
Basic Language allows us to "package" 
groups of both literal and math 
expressions in one line of programming. 
The capacity of the screen (for entering 
the program line) is the only 
limitation. Several program lines in 
the demo program would require up to 20 
other program lines if the logicals were 
expressed in  conmon Basic. And, not 
only does the program work faster with 
logic, but the amount of memory 
program is reduced 


Boolean 
used for the 


substantially. There are some good 
reference articles about Boolean in back 
issues of Update magazine that can serve 
as a primer on the subject. (July 1988 
pe 13), (April 1988 pg 18) 


computers provide some 
ability to use BOOLEAN expressions in 
Basic Language. Some computer's "syntax 
checking" are very liberal while others 


Almost all 


may trap out some perfectly valid 
Boolean expressions. One way of forcing 
the computer to process Boolean 


expressions is to Disable the computer's 
syntax checker. Almost all computers 
provide an address to be POKED to 
disable the syntax checking function. 
So, if your computer is one that 
disallows some variations of Boolean 
expressions then it might be worth while 
to explore the method of "forcing your 
will on the cantankerous beast" by 
simply by-passing the syntax checker for 
your lines of programming that contain 
valid boolean logic. 


The Demo program does work. 
However, the TS~2068 is more liberal in 
allowing Boolean logic expressions than 
most other computers. So if yours balks 


at any of the programming it is a 
cantankerous charactistic of your 
computer's syntax checker and it would 


be worth while to find a by-pass. 
DEF FN(} and FN Functions 


Several of my articles on the 
subject of DEF FN() have been leading up 
to this program demonstration. 
Particularily, the Jan. 1991 and April 
1991 issues of Update are appropriate 
for background. This time the 
programming demonstrates the versatility 
of DEF FN() functions expressed in 
Boolean logic for both literal function 
definition and math definitions. Line 
#9700 concatenates Y$ to encapsulate the 
HEX value expression depending upon six 
possible situations. So, the upper 
limit of both Number conversions and 


mixed number calculations are set at 


FFFFFF hex, or 16777215 decimal (16 
megabytes). The limit is set by LEN FN 
x$(). This DEF FN x$() function in line 


#9700 should be proof enough of the vast 
powers of the DEF FN () function. 


And, isn't it interesting that the 
DEF FN x$() can be concatenated just as 
if we were dealing with a string 
variable. Also, individual characters 
of the DEF FN x$() can be picked out in 
the same manner as characters ina 
simple string. But DEF FN x${) is NOT a 


variable. We can have "X$" and DEF FN 
X$() as separate and non associated 
entities. Then there are six numeric 
DEF FN() functions beginning at line 
#9710, all using Boolean logic. In 
these six cases the math formula 
(function) use FN to call up the 


the DEF FN x$() function of 
line #9700. The main program then is 
responsible for setting the correct 
value of Y$ before the seven DEF FN 
functions are exercised. 


solution of 


Although the DEF FN() functions 
demonstrated are phenomonal, all were 
once in program lines of Boolean logic 
that dealt with the dimensioned X$. And 
the program worked faster that way. The 
logic was pulled out of program lines 
and installed in DEF FN functions just 
for Demo purposes. In some cases simple 
programming is better and in others the 
DEF FN function works better or 
exclusive for the purpose. 


The use of DEF FN also avoids GO 
SUB branching. Instead one just uses FN 
to get the work that a sub-routine 


branch would otherwise provide. Complex 
calculations can be "in trains" of DEF 
FN functions where each succeeding DEF 
FN function requires the solution of the 
earlier functions. When FN is used, the 
protocol is "first line first" for the 
finding and solution of the DEF FN 
functions. I hope that these three 
articles (beginning with the Jan. 91 
Update issue) will provide the 
enthusiasm for all to explore the power 
of both Boolean progranming and the use 
of the DEF FN() function. Have fun! 
~Bu, 


Simple Basic For Any Computer 
DECIMAL - HEX - BINARY CONVERSIONS 
DEMO OF BOOLEAN LOGIC WITH DEF FN() 


9700 DEF FN x$()=("00000"+y$ AND LEN y$=1 
)+("0000"'ty$ AND LEN y$=2)+("000"+y$ AND 
LEN y$=3)+("00"+y$ AND LEN y$=4)+("O"+y$ 
AND LEN y$=5)+(y$ AND LEN y$=6) 

9702 REM 

9710 DEF FN a()=(1048576*(CODE FN x$()(1) 
~o) AND CODE FN x$()(1)<r)+(1048576* (CODE 
FN x$()(1)-p) AND CODE FN x$()(1)>q) 
9712 REM 

9720 DEF FN b()=(65536*(CODE FN x$()(2)-o 
) AND CODE FN x$()(2)<r)+(65536* (CODE FN 
x$()(2)-p) AND CODE FN x$()(2)>q) 

9722 REM 

9730 DEF FN c()=(4096*(CODE FN x$()(3)-0) 
AND CODE FN x$()(3)<r)+(4096*(CODE FN x$ 
()(3)~P) AND CODE FN x§()(3)>qa) 

9732 REM 

9740 DEF FN d()=(256*(CODE FN x$()(4)~o) 
AND CODE FN xS()(4)<r)+(256*(CODE FN x$() 
(4)-p) AND CODE FN x$()(4)>q) 

9742 REM 

9750 DEF FN e()=(16*(CODE FN x$()(5)-o) A 
ND CODE FN x$()(5)<r)+(16*(CODE FN x$()(5 
)-p) AND CODE FN x$()(5)>q) 

9752 REM 

9760 DEF FN f£()=(CODE FN x$()(6)-o AND CO 
DE FN x$()(6)<r)+(CODE FN x$()(6)-p AND C 
ODE FN x$()(6)>q) 

9770 REM 


9780 BORDER 1: PAPER 1: INK 7: CLS : 
23658 ,8 SeTS CAPS On 

9800 CLS : LET xy=0: LET T=0: LET 0=48: L 
ET p=55: LET q=64: LET r=65: LET a=1: DIM 
u(24): FOR n=l TO 24: LET u(n)=a: LET a= 
ata: NEXT n 

9804 CLS : PRINT AT 9,0;"Select: 1. Conve 
rt Hex-Dec-BIN 2. Mixed Math": P 
AUSE 0: LET M=CODE INKEYS-48: CLS : GO TO 
(m<1 OR m>2)*9804+(m=1)*9812+(m=2)*9886 

9812 DIM x$(6): PRINT AT 9,0;"1. Dec to H 
ex, or 2. Hex to Dec 3. Quit?": PAUSE 0: 

LET X=CODE INKEY$-48: IF X=l THEN GO TO 

VAL "9822" 

9814 IF x=3 THEN GO TO VAL "9804" 

9816 DIM x$(6): INPUT "HEX Group:";y$: IF 
LEN y$>6 THEN GO TO 9816 

9818 LET DEC=FN a()+FN b()+FN c()+FN d()+ 
FN e()+FN £(): LET xS=FN x$(): LET MS=FN 

x$(): IF xy=l THEN RETURN 


POKE 


9820 GO TO 9826 

9822 INPUT "Input Decimal OR BIN Number: 
";DEC 

9824 DIM x$(6): LET A=DEC: LET BI=INT (A/ 
1048576): LET A=A-B1*1048576: LET x$(1)=( 
CHR$ (B1+O) AND B1<10)+(CHRS (B1+P) AND B 
1>9): LET b2=INT (A/65536): LET A=A-B2*65 
536: LET x$(2)=(CHRS (B2+O) AND B2<10)+(C 
HR$ (B2+P) AND B2>9): LET B3=INT (A/4096) 
: LET A=A-B3*4096: LET x$(3)=(CHRS (B3+0) 
AND B3<10)+(CHR$ (B3+P) AND B3>9): LET B 
4=INT (A/256): LET A=A~B4*256: LET x$(4)= 
(CHRS (B4+0) AND B4<10)+(CHRS (B4+P) AND 

B4>9): LET BS=INT (A/16): LET A=A-B5*16: 

LET x$(5)=(CHRS (B5+O) AND B5<10)+(CHRS ( 
B5+P) AND B5>9): LET x$(6)=(CHRS$ (A+O) AN 
D A<10)+(CHRS (AtP) AND A>9): LET MS=x$: 
IF xy=] THEN RETURN 

9826 CLS : PRINT "DEC=";DEC;TAB 15;"HEX=" 


9828 FOR n=1 TO 6: IF m$(n)>"0" THEN FOR 
n=n TO 6: PRINT m$(n);: NEXT n: GO TO 98 
32 
9830 NEXT n 
9832 GO SUB 9946: GO TO 9812 
9886 LET xy=l: PRINT AT 9,0;"Select Choic 
e: 
<l> Add <2> Subtract 

<3> Multiply <4> Divide <5> Hom 
e Menu ": PAUSE 0: LET gl=CODE INKEY$-48: 
IF gl<l OR gl>5 THEN GO TO 9886 
9888 IF gl=5 THEN GO TO 9804 
9890 CLS : PRINT #0;"First Number HEX or 
DEC/BIN? <l> Hex <2> Dec/Bin": PAUSE 
O: LET M1=CODE INKEYS-48:: IF ml<1 OR ml 
>2 THEN GO TO 9890 
9892 CLS : PRINT #0;"Second Number HEX or 
Dec/Bin? <1> HEX <2> Dec/Bin ": PAUSE 
O: LET m2=CODE INKEYS-48: IF m2<l OR m2> 
2 THEN GO TO 9892 
9894 IF ml=1 THEN INPUT "INPUT First Num 
ber (HEX) ";y$: LET HS=y$: IF yS=""" THEN 
GO TO 9894 
9896 IF ml=2 THEN INPUT "INPUT First Num 
ber (Dec/Bin) “syS: LET H$=Y$: LET nl= 
VAL y$: IF yS="" THEN GO TO 9896 
9898 IF m2=1 THEN INPUT "INPUT Second Nu 
mber (HEX): ";2$: LET I$=Z$: IF 2$="" THE 
N GO TO 9898 
9900 IF m2=2 THEN INPUT "INPUT Second Nu 
mber (Dec/Bin): ";z$: LET I$=Z$: LET n2= 
VAL z$: IF 2$="" THEN GO TO 9900 


9902 DIM x$(6): IF ml=1 THEN GO SUB 9818 

: LET nl=dec: LET x$=(y$ AND LEN y$=6)+(" 

O"+y$ AND LEN y$=5)+("00"+y$ AND LEN y$=4 

)+("000"+y$ AND LEN y$=3)+("0000"+y$ AND 

LEN y$=2)+("00000"+y$ AND LEN y$=1)+("000 

000" AND y$=""): GO SUB 9818: LET nl=DEC 

9904 IF M2=1 THEN LET y$=z$: GO SUB VAL 

"9818": LET N2=DEC 

9906 IF Gl=1 THEN LET DEC=N1+N2: GO SUB 

VAL "9824": PRINT H$;("h" AND Ml=1)+("d" 

AND M1=2);"+";2$;("h" AND M2=1)+("d" AND 

M2=2);"="";DEC:"a";" and "; 

9908 IF Gl=1 THEN FOR N=1 TO 6: IF MS(N) 

>"0" THEN FOR N=N TO 6: PRINT MS(N);: NE 

XT N: PRINT “h''': Go TO 9912 

9910 IF Gl=] THEN NEXT N: PRINT "Oh''' 

9912 IF Gl=2 THEN LET DEC=N1-N2: GO SUB 

9824: PRINT HS;("h" AND Ml=1)+("d" AND M1 
):"="328;("h" AND M2=1)4("d" AND M2=2); 

ippc:"d and "; 

9914 IF Gl=2 THEN FOR N=1 TO 6: IF x$(N) 

>"O" THEN FOR N=N TO 6: PRINT x$(N);: NE 

XT N: PRINT "h''': GO TO 9918 

9916 IF Gl=2 THEN NEXT N: PRINT "Oh"' 

9918 IF Gl=3 THEN LET DEC=N1*N2: GO SUB 

9824: PRINT H$;("h" AND Mi=1)+("d" AND M1 

=2);" * ";2$;("h" AND M2=1)+("d" AND M2=2 

);"=";DEC;"d";" and "; 

9920 IF Gl=3 THEN FOR N=1 TO 6: IF x$(N) 

>"O" THEN FOR NEN TO 6: PRINT xS(N);: NE 

XT .N: PRINT "h''': GO TO 9924 

9922 IF Gl=3 THEN NEXT N: PRINT "Oh"' 

9924 IF Gl=4 THEN LET DEC=N1/N2: GO SUB 

9824: PRINT H$;("h" AND M1=1)+("d" AND M1 

=2):" / “:2$;("h" AND M2=1)+("d" AND M2=2 

);"=";DEe:"d and "; 

9926 IF Gl=4 THEN FOR N=1 TO 6: IF x$(n) 

>"0" THEN FOR N=N TO 6: PRINT x$(N);: NE 

XT N: PRINT "h'': GO TO 9930 

9928 IF Gl=4 THEN NEXT N: PRINT "0h"’ 

9930 GO SUB 9946: Go TO 9886 

9932 GO TO VAL "9886" 

9946 LET medec: DIM t(24): FOR n=24 TO 1 

STEP -1: LET t(n)=(1 AND m=u(n))+(0 AND 

m<u(n)): IF t(n)=1 THEN LET m=nru(n) 

9948 NEXT n 

9950 LET t$="": FOR n=24 TO 1 STEP -1: IF 
t(n)=1 THEN FOR y=1l TO n: LET t$=t$+STR 

$ t(y): NEXT y: GO TO 9953 

9952 NEXT n 

9953 LET m$="": FOR n=LEN t$ TO 1 STEP ~1 

: LET m$=m$+TS(n): NEXT n 

9954 PRINT ''"BIN=";m$: RETURN 


TS-2068 Tool to Convert Chr Strings 


Often we get stymied by having a 
character array file having a wrong dimension 
for the job we want to do. This tool was made 
to convert TWO DIMENSION CHARACTER ARRAY FILES 
to THREE DIM FILES. With minor adjustments 
the program can be used to convert other 
dimensions to other dimensions. 

The program was crafted in response to 
question from a User of the Dbx.B6 program 
(One of the programs in the Hybiscus 
Software). His problem was that he had many 
valuable record files that were in Character 
arrays dimensioned (500,32). He wanted to be 
able to LOAD the files to the Dbx.B6 program 
and then EDIT the files to be printed and 
managed by the Dbx.B6 program. The Dbx.B6 
program creates and manages 3 dim files such 
as "O$(x,x,x)". 

The transposition of character array 
files from one dimension to another requires 
one of two methods. 1. LOAD the file to 
memory, and then create another character 
array file. Then COUNT the first file to the 
new file. Then SAVE the new file. This 
process uses DOUBLE the memory required to 
store the first file. 

OR- 2. Dimension the new file in memory. 
Then READ a sequential file into the new file 
via a counter. Since the question from the 
reader involved Character array files (not Seq 
files), the program was developed for that 
purpose. 

The program limit then is the FREE memory 
(AFTER. the File is LOADED). Then if the file 
to be converted is smaller than the remaining 
FREE, the new file can be extended to have 
more records. For example, the user's need 
was to convert character array files having 
the dimension (500,32). The program capacity, 
after loading one file, is a new file 
dimensioned (612,1,32). In other words, the 
program allows such a (500,32) two dim file to 
be transposed to a 3 dim file (612,1,32). 
Then there will be 112 new (blank) records 
that can be filled. 

Line #9060 calculates the maximum number 
of Records for the New file and reserves 2000 
bytes of FREE for after editing. One can 
fudge and input a slightly larger new file 
than the program suggests, keeping in mind 
that too large an input will bring an OUT of 
MEMORY report. The program will work with any 
DOS or Cassette by modifying the LOAD and SAVE 
syntax. Donated to Public Domain by Bill 
Jones. 


9000 REM ** Character String 
Conversion. 
2 Dim to 3 Dim 
Donated to Public Domain By 
Bill Jones 
9010 CLEAR : INPUT "Enter Data D 
isk #"5;dd: RANDOMIZE USR VAL "10 
0": GO TO dd: RANDOMIZE USR VAL 
"100": CAT ".A$", 
9020 INPUT "Enter File name + Ex 
t"'m$: RANDOMIZE USR VAL "100": 
LOAD m$ DATA f$() 
9030 CLS : PRINT #NOT PI;"Loadin 
g, Finding Dim . ." 
9040 FOR n=1 TO VAL "999": ON ER 
R_ G TO VAL "9050": LET x=LEN f 
$(n): NEXT n: STOP 
9050 ON ERR RESET : LET a=n-SGN 
PI 
9060 PRINT AT VAL "10",NOT PI;"T 
here are "; FLASH SGN PI;a; FLAS 
H NOT PI;" "records in the"'m$;" 


File."''"You may expand this fil 
e to"'INT (( FREE -VAL "2000")/x 
)3" Records" 


9070 INPUT "Enter # of Records f 
or New File "3c: DIM o$(c,SGN PI 


2x) 
9080 PRINT #NOT PI;"Converting t 
o new file . ." 
9090 FOR n=SGN PI TO a: LET o$(n 
»SGN PI)=f£$(n): NEXT n 
9100 INPUT "Enter File # only fo 
r SAVE of new file ";g: BEEP V 
AL ".3",VAL "20": DIM f$(SGN PI) 
3 LET w$="m"+STR$ gt".A$":; RANDO 
MIZE USR VAL "100": SAVE w$ DATA 
o$() 
9110 CLS : PRINT AT VAL "9",NOT 
PI3m$;" File has been Converted" 
'“to dimension ("3a;",1,"3x;") A 
nd the"’"new file SAVED."''"The 
new file name is ";w$''"ERASE th 
e Old File? "''"<1> Yes <2> No": 
INPUT h: IF h=SGN PI THEN RAND 
OMIZE USR VAL "100": ERASE m$, 
9120 CLEAR : CLS : INPUT "Do ano 
ther File Conversion? <I> Ye 
s <2) No"3i: CLS : IF i=SGN PI T 
HEN GO TO VAL "9010" 


10. 


11. 


vvvyv 


v 


vvvvy 


IF _YOU HAVE A LOADING PROBLEM 
TRY THESE SUGGESTIONS BEFORE YOU GIVE. UP! 


Make sure the recorder/player is plugged into power. 
Check EAR and MIC cables, make sure they are in correctly. 
Check tape to be sure that it is in the player correctly. 
Check VOLUME and TONE controls on player/recorder— 

Make sure VOLUME is at FULL and TONE is FULL TREBLE. 
(Some players do not have a TONE control.) 

If all of these check out OK, go to the next section. 


SETTING THE AZIMUTH (PLAYBACK HEAD ALIGNMENT) SCREW 


Unplug EAR plug from player/recorder. 

Locate the adjustment screw. It is usually found just to the 
left and toward you as you are facing the side of the 
player/reoorder with the control buttons. It is only visible 
when the unit is in the PLAY or RECORD mode. If you have a 
Timex 2620 recorder, you will have to remove the cover 
before you can get to the screw. I have drilled a small hole 
in my cover to allow easy access. The screw is usually only 
about 1/8" from the play/record head. On some units the 
screw is accessed through a smal! hole at the location, 1 
noted. 

Once the screw is located, it is time to make the adjustment 
so that the program can be LOADed. 

Get a small jeweler's screwdriver for this job- 

Put the tape that will not LOAD into the unit, press PLAY.» 
Adjust VOLUME to a comfortable level. 

Put screwdriver into the slot in the adjustment screw. 

As you listen closely, turn the screw VERY SLOWLY first one 
direction and then the other while listening for the highest 
possible sound level. Stop when this is attained. 

Plug in the EAR plug, turn the VOLUME up full and try to 
LOAD the program or file. 

Once the difficult file has been LOADed, be sure to MAKE A 
BACKUP! That is, SAVE the file or program onto another tape 
or disk so that you can LOAD it next time without having to 
do this. 

Once the file/program has been LOADed and BACKED UP, you 
will have to insert one of your tapes (one made on this 
recorder) and go through the adjustment procedure again 50 
that your tapes will LOAD properly. 


RNG ENTERPRISES 


1419 1/2 7TH STREET 
OREGON CITY, GR 97645 
VOICE: 503/655-7484 NOON-1@PM PACIFIC TIME TUE-SAT 
FAX: 503/655-4116 24 HOURS/DAY 


CHARACTER STRING EMULATION 
IN HISOFT ® PASCAL VERSION 4 


Article and Program By David Solly 


One of the common gripes about HiSoft Pascal Version 4 
for the Timex/Sinclair 2068 is its lack of built-in 
operators for handling a dimensioned array of type CHAR 
henceforth referred to as a string. The crux of the problem 
is that if a string is not completely filled by data or 
spaces, the remainder of the string is left filled with 
whatever garbage is in memory at the time. When a WRITE or 
WRITELN is called, the procedure attempts to print the 
entire contents of the string, which includes the garbage 
left in the unused portion of the string, plus all the data. 
This results in garbage characters being printed on the 
screen or printer if the system does not simply crash.! 


Parser is a program which demonstrates how a record 
type -- called "word" in this example -- containing a string 
and an internal counter, which is used to keep track of the 
number of printable characters the string contains, can be 
constructed and used to solve this problem. Reading and 
writing information to and from this "word" type; however; 
also requires special modified versions of the procedures 
READ() and WRITE(), which in this program are called 
StringRead() and StringWrite() .’ 


+ HiSoft has released several updates of its ZX Spectrum 
Pascal program since version 4 was converted and released 
for the Timex/Sinclair 2068. The latest ZX Spectrum 
version, (version 1.7M), features a 51 column mode plus the 
string handling capabilities we are trying to emulate here. 


? For those of you who have additional questions, please 
feel free to write me at 1402-1545 Alta Vista Drive, Ottawa, 
Ontario, Canada K1G 3P4, or by calling Sir Clive’s Castle 
BBS (8/1/N, 300/1200 baud) at (613) 745-8838 and leaving your 
questions in the sysop’s message area. The source code for 
this program is also available from the BBS. Download file 
PARSER.PS. 


David Solly Character String Emulation 


Program Listing 


1000 PROGRAM PARSER; 

1010 

1020 

1030 { 

1040 The object of this program is to accept a 
1050 sentence from the user then to break the 
1060 sentence into its component words and to 
ets display each word on a separate line. 
1 

1090 Program by David Solly. 

1100 

1110 } 

1120 

1130 

1140 

1150 CONST 
1160 

1170 maxword 
1180 maxsentence 
1190 space 
1200 first 
1210 

1220 

1230 

1240 TYPE 

1250 

1260 string = PACKED ARRAY{1..maxword] OF CHAR; 

1270 

1280 word = RECORD 

1290 

1300 body : String; 

1310 length : INTEGER 

1311 

1320 END; 

1330 

1340 

1350 VAR 

1360 

1370 = sentence : ARRAY[1..maxsentence] OF word; 
1380 row, col, nextcol, count : INTEGER; 

1390 demarker : BOOLEAN; 

1400 

1410 

1420 

1430 PROCEDURE SpaceTrap; 

1440 

1450 { 

1460 Insures that there is ony 1 space between 

1470 words 

1480 } 

1490 

1500 BEGIN 

1510 

1520 REPEAT 


15; 
15; 
CHR (32); 
1; 


16 


David Solly In HiSoft Pascal Version 4 


1530 

1540 READ (sentence [row] .body[first]) 

1550 

1560 UNTIL sentence[row].body[first] <> space 
1565 

1570 END; 

1580 

1590 

1600 

1610 PROCEDURE StringWrite(VAR phrase : word); 
1620 

1630 { 

1640 Writes only the required length of each 
1650 character string. 

1660 

1670 This is required when using 32 col. mode. 
1680 } 

1690 

1700 VAR letter : INTEGER; 

1710 

1720 BEGIN 

1730 

1740 FOR letter := first TO phrase.length DO 
1745 

1750 WRITE (phrase, body[letter]) 

1755 

1760 END; {Procedure StringWrite} 

1770 

1780 

1790 

1800 PROCEDURE StringRead; 

1810 

1820 

1830 VAR I : INTEGER; 

1840 

1850 BEGIN 

1860 

1870 { 

1880 Intitialize the variables 

1890 } 

1900 

1910 count 
1920 row 
1930 col 
1940 nextcol 
1950 demarker 
1960 

1970 FOR I := first TO maxsentence DO 
1980 sentence[I].length := 1; 

1990 

2000 WRITE('Type a sentence > ‘'); 
2010 READLN; (Clears the buffer of EOLN} 
2020 


:= FALSE; 


2030 WHILE (NOT EOLN) AND (row < maxsentence) 
2040 

2050 BEGIN 

2060 

2070 


11 


DO 


David Solly Character String Emulation 


2080 

2090 READ (sentence [row] .body[col]); 

2100 IF sentence[row].body[first] = space THEN SpaceTrap; 
2110 IF sentence [row] .body[col] = space THEN 
2120 demarker := TRUE; 

2130 

2140 IF (NOT demarker) AND (nextcol < maxword) THEN 
2150 

2160 BEGIN 

2170 

2180 col := col + 1; 

2190 nextcol := nextcol + 1 

2200 

2210 END 

2220 

2230 ELSE 

2231 

2232 BEGIN 

2240 

2250 sentence[row].length := col; 
2260 count := count + 1; 
2270 row r= row + 1; 
2280 col := first; 
2290 nextcol col + 1; 
2300 demarker FALSE 
2310 

2320 END; {If...then...else) 

2330 

2340 IF EOLN THEN sentence[row].length := col - 1 
2341 

2342 {Accounts for the last word entered less the EOLN marker.} 
2343 

2350 END {While loop} 

2360 

2370 END; {Procedure StringRead} 

2380 

2390 

2400 

2410 PROCEDURE PrintItOut; 

2420 

2430 VAR 

2440 

2450 subsequent : INTEGER; 

2460 

2470 BEGIN 

2480 

2490 subsequent := first + 1; 

2500 

2510 WRITE(’Parsing > '); 

2520 StringWrite (sentence (first]); 

2530 WRITELN; 

2540 

2550 

2560 

2570 IF count >= subsequent THEN 

2580 

2590 BEGIN 

2600 


le 


David Solly In HiSoft Pascal Version 4 


2610 FOR row := subsequent TO count DO 
2620 

2630 BEGIN 

2640 

2650 WRITE (' VF 

2660 StringWrite (sentence [row]) ; 
2670 WRITELN 

2680 

2690 END 

2700 END 

2710 

2720 END; {Procedure PrintItOut} 

2730 

2740 

2750 

2760 PROCEDURE SongAndDance; 

2770 

2780 BEGIN 

2790 

2800 PAGE; 

2810 WRITELN (/ Parser’); 

2811 WRITELN; 

2820 WRITELN (‘ Program By David Solly’); 
2830 WRITELN; 

2840 WRITELN(‘ The object of this program’); 
2845 WRITELN(’is to accept a sentence from’); 
2850 WRITELN(‘the user then to break the‘); 
2860 WRITELN(’ sentence down into its’) 

2865 WRITELN(‘ component words and to display’); 
2870 WRITELN(’each word on a separate line.’); 
2880 WRITELN; 

2890 WRITELN; 

2900 

2910 END; {Procedure SongAndDance)} 

2920 

2930 

2940 

2950 BEGIN {Main Program} 

2960 

2970 SongAndDance; 

2980 StringRead; 

2990 WRITELN; 

3000 PrintItout; 

3010 WRITELN; 

3020 WRITELN('End of Demonstration.’) 

3030 

3040 END. {Main Program} 


Ottawa, Canada, March 25, 1990. 


13 


TOURING 


SYNTWO (revised) 


24 TGN_S? 
4Qin: 
9341 TH. 
MTS 
6980 END? we 
16 Here for RESET + (END) (wligcard) 
2387 


9316 THO Reinitia 


2548 aL 5ST {oRoH) 
arget 
65278 EXROM, CHUNK 0 
7 BANKE MASK 
PARM passed 
PARM rel’d 
9558 CALLE 
S5ugE 
9364 Th 4 
£380 END? Here for RESET (END) 
3148 RESSCT CEXROM) Reset SYSCOK 
Target 
9328 TWh 
32 NXT 15 Here for RESET ¢ 
Tih TENE Nugeric expression 
6980 END? 
7966 FIXUL 
16 Here for RESET # n (END) 
9381 © BAOLSTRM3 > 1 
0 to 18 -) 0 to 30 
22 © to 30 -) 22 to 52 
92 HL = 23874 + 2 35 


Get Isb offset code 
Get asb offset code 


5 2 \Z $393 TKS Stream OPEN 
9381 BADSTRY = CF RST & 8 ERROR Tf 0 (CLOSES) 
9382 7 oC Tnvaild streae 
9383 HS 
9384 128 
9386 Local channel 
9387 
9388 23740 SYSCON 
9391 =} Heel 
9392 =) SCLC,4) 
9393 Get BANKS 
9394 Y) 
$396 18 : : 
9398 =) SC(¢,19) RESET Routine Iso 
$339 Get RESET Routine Lsb 
Sage =) $(c,20) 
9401 Get RESET Routine asb 
9402 Target 
7403 16831000 
$405 9331 B = BANKE, ¢ = STD MASK 
9407 NEWDEV 24 SAVE, LOAD, VERIFY, or MERGE © (SLVM) 
3408 42ik: 
9410 9423 TW6 For DISK, E7C. 
9412 Here for tape operations. Trash temp reture 
9413 6980 END? : 
5416 Chain Returs 
Sal7 427 SiVM CEXROM) 
9429 Target 

9328 Wt 


22 NAT IS Here for disk, etc. ‘ 
7151 TENTO String expression $ (device char! 


TOURING 


9427 FED oP ab: 
9429 C2ED18 JP _NZ,NN 7449 NONSENSE 
$432 £08928 CALL_NN 10377 INTPT? Here for SLVM x $, 
9435 2006 JR NZ, #8 9483 TH? 
3437 CD6925 CALL AN 9877 SKIP 
9480 coaie = CALL NN 6980 END? 
$443 WI 3a745¢ LO 4. (an) 23668 T_ADDR 
948e ar LDC, 02226, V5227, M228 
9447 oF CPL 1 E29, W=28, HeZ, 
9448 COBA, == ADO. N 186 $5216, (2215, Vedtd, He213 
9450 FEO? = CPN 218 i 
9482 3806 IR C48 9460 THS HV 
9454 2802 JR 7,44 9458 TKS is 
9456 60s ADD NN @ §=224 
9458 TH_S Cote Add N 24 8, L=239 
$660 7H79 oF U9 CA $=24B; 12239, V=214, M2213 
9461 af XOR A 
$hb2 47 LD BA . 
9463 THAIS 5 PUSH'BC SAVE PARNS (ENTRY FRO OTHER) 
9hb4 CDAF2E CALL NN 12207 POPSTR 
$467 oe DEC BC 
9468 78 L0A,B 
3469 Bi OR ¢ 
9470 Ci POP BC RECALL PARMS (EITHER) 
9471 2015 IR NZ, #24 9492 BAD_I/0_DEV2 
$473, iA Lo a, (oe) Here for SLUM # 'd', / CFE ‘d', 
9474 E60F AND N 2231101111: Force to caps 
9476 af LOCA 
9477 C7413 CALL NN 4980 SRCHSC 
9480 300A JRNC #12 9492‘ BAD_1/0_DEv2 
9482 a3 PUSH AL =) $t(e,t) 
9483 111400 LD-DE,NN 20 
9486 19 ADD HL,DE =) $0,241) 
9487 7E Lp a, (AL) get SCFLAGS 
9488 CR¢F BIT i,k = 1 if SLUM capable 
5490 2002 JR_NZ #4 gage Tes Can co it. 
9492 BAL_I/O_DEV? CF RST 8 Ea 
930 7 2 ne Frvalid TG device 
ei POP HE 
ie PUSH BC PARKS (0,SLVM)}{CFNE,0) 
€8 EX DE, HL 
CoAR25 CALLAN 9634 PASSING 
£8 EX DE HL 
56 Lp (aL) Get BANKS 
9502 1E88 136:10001000: STD MASK 
9504 of0¢00 LD BC,NN 12 
9507 ADD HL,BC $o(o,13) 
508 4E iD C,(HL) lw FE Routine Isb 
9509 rs) the AL tc, 
9510 4 LD a {a) stv cr Routine asb 
9511 cs PUSH BC Target 
912 D5 PUSH DE BANG, Mask 
13 2R655C LO HL,(NN) 23653. STKENO 
16 2B bEC AL 
9517 ae LO C,(HL) Get PARM byte count 
9518 0 INC ¢ 
$13 22655C LO (NN),EC 23653 STKEND 
9522 9600 i) B,0 f) 
9926 C PUSH 8C PARN passed 
9525 010000 LD BC NN i) 
128 37826 JP RN $336 THX 
(geRVICE CODE ik 
9531 10 BN 207: CAT : 
9533 JR +12 9545 THAZ 
{SERVICE CODE ES 
9535. FORKAT 060 = LD BN 208: FORMAT : 
9537 1806 IR #8 9545 Th12 
[SERVICE CODE its 
9539 MOVE O6b1 LO 8,N 299: 
9541 JR 44 


1802 
[SERVICE CODE ist 
ERASE 06D2 
xx08 
cpesze 
2087 
Cbe92s 
C04418 


TOURING 


9558 CALL_B FS PUSH AF General purpose relocation call _bank 
9559 3ac25C LOA, (NN) 23746 VEOMOD 

9562 A? AND & 

9563 2004 IR NZ, +e 9569 WV 

9565 Fl POP AF 

9566 (30065 = JP_NK 26064 CALL_BANK 

9569 THY 1 POP AF 

9570 C390FD JPN 64912 CALL_BANK? 

9573-9576 4 bytes free 

9577 SKIPIT 3acesC = LD_A,( NN) 23750 ARSFLG (Kept here because of global calls) 
9568 tear RES La HIN! 

9570 32tesc LD (NN) A 23750 ARSFLG 

9573 CS PUSH BC 

9574 OF RST 26 24 IGN_SP {anna be SLUG here) 
9875 Tw_hd FE22 CPN 34st: Could be in SLUG) 

9577 2808 SR 1,413 9590 TW_it 

9879 FEBA cP N ra sy 

9581 2807 SR 2,49 9590 TWAS 

9583 FEOD @ kK 13:°H: (ck } oY 

9585 2803 WR _1,+5 9590 Td 

9587 €? RST 32 32 NXT] (Does not sense SLUG entry) 
9588 18F1 WR 33 9575 TW) 

9590 TWA FE3A cP ON $8::: Here for ', :, (CR) 

9592 2007 aR NZ 39 960i TWAS. 

9596 3ac6s¢ LDA, (NN) 23750 ARSFLG == Here far : 

9597 CBaF BIT 1, Bt aa . 
9599 201C JR NZ, +30 9629 TWAS Inside quotes. Ignore it. 
9601 THiS &5 PUSH HL . : . 

9602 9605 LD 8,8 5:"€: (ENQ) Test if ',:,(CR) in SLUG 
9604 TH_I6 2B DEC HL 

9605 3 U0 A,(HL) 

9606 FEQE CPN L4sSLuG + ’ 

9608 2814 IR 2,420 9628) TW_i7 It was in a SLUa. ignore it. 
3610 10F8 DINZ -6 9604 TH_IG 2 2 

5612 EL POP HL Here if not in SLUG 

9613 OF RST 24 24 IGN_SP Recall char 

9614 FE22 CPN Bqrtt 

9616 2008 RONZ, +16 9632 TW9 7 ; 

9618 3acesc LDA, (NN) 23750 ARSFLG Toggle in_quotes bit 
9623 EEO) RN 190000010: :IN_** 

9623 32C65¢ LD (NK), & 23750 ARSFLE 

9626 1801 JR +3 9629 TW_iB 

9628 TWA? EL POP HL 

9629 TWAS 7 RST 32 32 NXT_IS 

9630 188A IR -68 9575 TH_T3 

9632 TW_A9 cL POP BC 2 
9633 C9 RET CHADD -) : or (CR) at end of line 
9634 PASSING ED4BS05C L0 BC,(NN; 23645 CH ADD 

9638 06925 «CALL AN 9577 SKIPIT 

9641 25056 LD HL,CNN) 23645. CH_ADD 

9644 Ay aNd A 7 

9645 E042 SBC HL BC Length in bytes 

9647 2B DEC HL Adjust for oranching 
9648 2 UO at A= LEN -1 

9649 2A655C LD HL, (AN) 23653 STKEND 

9652 7 ub Gl) store LEN -! 

39653 23 INC HL 

9654 Cl POP BC Return addr 

5655 70 LO (HL),B 

9656 3 INC HE ’ ; 

9657 71 LD (HL) C Tenporarily store it here 
9658 23 INC Hi 

9659 22655C LD (NN) HL 23563 STKEND 

9662 2a505C LD RL CNN) 23645 CH_ADD 

9665 28 DEC HL 

9666 (B47 BIT 0,4 

59668 2800 SR 7,414 9682 TH_2l 

9670 TH_20 ct) OC A 

9671 46 LD B,(HL) 

9672 28 OEC HL 

9673 30 DEC A 

9674 FAIDOF = JP-K, NN 9692 TH_22 Done or none 

9677 4E 4) C,(HL} 

9678 2B EC HL 


16 


TOURING 


9679 C$ PUSH 3C 

9680 18F 4 BR -10 9670 TH_20 

9682 TW ei 0620 et 

9684 a7 

9685 8 

9686 4E 

$687 28 

9688 30 

9683 5 

9690 18EA 9670 Tw_20 

9692 TW_22 2A655C 23653 STKEND Here if done or none 
9695 2B 2 asp return ader 
9696 7E Get i 

9097 2B -) 1b return addr 
9696 22658C 23653 STKEND Adjust STKENO 1 
9701 66 Get Isb'return acdr 
9792 OF 

9703 ES Restore return acdr 
9704 ¢ 

5705 B_ENABL FS PUSH AF 

9706 SAC25C nt Fu (NK) 23746 YIDMOO 

9709 a? 

9716 2008 n Xl, + FTW 

9742 Fi 

9743 539964 25753 BANK ENABLE 

9717 Fda FL 

718 C359FC 64601 BANK ENABLE’ 


9721-9730 10 Bytes FREE 


SYNTWO occupies 9300 thre 9730. It includes code for: jeset ald devi 

eset all devices 

Reset ail channels 
Reset device on streaw n 


VERIFY f MERGE f Tape program . 
oe Program, autostart @ line f 

Numeric array @ 
String ares as 
Get code @ location saved 
Get code & relocate @a 
yERIFY f COUE on Get_gax n bytes code @ location & 
(doesn't t work) DFILEL & AFILEL 

(Except for SAVE, f can be rep.aced by '*, in which case the first encountered watching ype record will be accepted, 
regare! ess of name.) 


VERIFY f DATA a() 
VERIFY § DATA a3(} 
VERIFY 

VERIFY ¢ CODE 


7 MERGE + a,paralist Expansion banks 
oe aia2iparelist ERASE a parwlist Expansion banks 


NEWDEV at 9407 was at 9426, ois change aust be entered at TEM? as follows: 
wast 7238 TEMiL © 30224 JP Ab 9426 NEWOEV 
Is! 7238 TEMIL «© C3BF24 JP NN 9407 NEWDEV 


Entries for CAT, FORMAT, HAE, ERASE 
were? 9672, 9676, 9580, 9684 
ares 9531, 9535, 9539, 9543 
These changes aust be entered TE 


6666 204,37 Target 9 

6666 63,37 Target 9 

667) 208,37 Target 9 

6671 67,37 Target 9 fa ' 
6676 212,97 Target 9684 ERASE 

6676 71,37 Target 9543 ERASE 

6681 216,37 farget 9672 CAT 

6661 59,37 Target 9531 CAT 


PASSEM was ai 9657, It called PASSING at X3649 (ir ong | value) in es 
SKIPIT at 9565 instead of 9577. The fix is to move PASSING fro EXROM ob: 
routine -- which could not account for VIDMOD relocation anyway. Code i 


ASSING at X3907 in EXROM incorrectiy | ¢ lis 
HOME ROM, ellainating the PASSEM calling 
Roy can be deleted 


All routines have been to allow relocation of bank switching ro 
barriers to using bank switching asc pessing parameters. 

With corresponding changes e.sewiere, é ipngral operations show 
is recomended that SYNTWO D€ used as tne saster location for CALL_BANK ac 
parameter lists. 


tines based on memory aapping plus fixes for any 


be restored. No new features have been added. it 
with or without the passing of parameters, 


é 


A aaster location is also provided for BANK_ENABLE @ 9705. 


17 


HuUnLne 


FUNCTION DISPATCHER NUMERICAL LIST 


SERVICE CODE SERVICE ADDRESS GESCRIPTION 


ERROR.  EXROM Basec’ 


255 for data blo: 


0 for Header, 


Wrong addr 
(252) IK = ADDR; A= 0 for Header, 255 for data block; NC = ERROR Proposed 
NC for VERIFY: CY for REAO Spare 
Spare 
__ Spare 
i GET_STATUS — 25605 RAM Based. 
18 GET NUMBER 25694 
16 BANK_ENABLE 25753 “ 
i7 GOTO_BANK 25969 25970) Wrong addr 
18 CALL BANK = 26063 (26064) Wrong addr 
19 XFERBYTES 26401 26402} Krong add 
20 GET Mor} tb 
2 PUTCWORD) —--=- {25403} pibsteed 
22 GETICHUNK) =~ 25677 Proposed 
23 Spare 
25 UPD_K 737 Keyboard input ROM Based. 
26 PARP 1011 DE+} Cycles, Period @n+(235 10 46) T-States; HL = 1 
27 BEEP 1078 BEEP; Parags on calc stack, exit via PARP. 
28 K DUMP 2562 COPY; Primary screen gute i 1$2040 printer 
29 SENDTV 1280 General Purpose channel. nter. 
3 SETAT 1458 B= LINE # 0-23; C= Cock Ke 
uw ATTBYT 1808 HL = ADOR; ATIR MASK 3 PFU t € byte 
32 R_ATTS 2164 Permanent to Tebporary niribute. data 
33 cCLHS 2217 Clear lower screen 
34 CLs 2282 Clear entire screen 
38 DUMPPR 2595 Print & Clear printer buffer : 
36 PRSCAN 2634 Scan line (32 yes) to 182040 printer 
37 DESLUG 3341 Remove number slugs froe EDI? buffer if found @ HL = ADOR 
38 K NEW 3357 NEW 
39 INIT 3377 A= 0 for power on, 255 for NEW; DE = MAX RAM 
4 INCH 4577 A= char from current channel, NC = 20 iagut 
i SELECT 4656 A= stream #; select corresponding channe. : 
42 INSERT 4795, Insert BC bytes before Hi. Update sysvars. DE -) last inserted byte; Hi -) first - 
43 RESET 4548 RESET all; RESET * all expansion devices; RESET # n device on stream # n. 
44 CLOSE 5023 CLOSE # ns non calc stac! 
45 CLCHAN 5054 Close channel. Restore defaults if applicable. 
46 OPEN $162 OPEN $ n,*y *Uparanster list Open or Create a channel. n,‘x" on cale stack 
? OPCHAN $22! Open, channel if possible. "x" on cale stack. 
- 48 CAT 9672 CAT *x' {parameter tist Catalog of channel x" 
4g ERASE 9684 ERASE "x" {paraneter ist) Erase selected files 
$0 FORMAT 9676 FORMAT *x 1 Roaraneter lis' }; Format media of channel "x* 
51 MOVE 9680 wove "x1", 4x2", (parameter ist) Move or copy files between channels 
§ FLASHA S645 A -) lower screen flashing. (cursor } a 
53 FIND LL 5846 Find line HL (Z,HL = ad}, higher (nz, HL = addr or vars), DE = prev line or HL 
$4 SUBLTN 5872 (stateaent # 10) or token), HL *) line. Results vary with conditions, request. 
$5 RECLEN 5920 HL -) record, BC = engin OE = AL + BC 
56 DELREC 5968 Delete BC bytes @ HL. toe sysvays. 
$7 PUT BC 6024 BC -) ASCII -) current channel. "0" if minus. 
$8 SYNTAX 6695 Edit buffer commands 3} or line 
59 EXCUTE 6872 Edit buffer command(s 
60 FOR 7286 FOR 
él STOP 7257 STOP 
62 NEXT 7509 NEXT 
63 READ 7578 READ 
66 DATA 7810 DATA : ‘ 
65 RESTBC 7882 RESTORE {tjpet), BC = Hine # 
66 RAND 7892 RANDOMIZE {seed} 
7 CONT 7908 CONTi nue 
€8 JUMP 7921 suap to line. 
69 FIX Ut 7966 A = calc top unsigned 
ri) FIXU 7971 BC = cale top wisi qieg 
1 CLEAR 7990 CLEAR {addr}, tom calc staci 
Pa CLR BC 7993 BC = new Raeroee Clears ail but program. 
% 60 SUB 8089 GOSUB Lines 
74 CHR SZ 8123 


16 


TOURING 


COLE MACRG SERVICE ADORESS OESCRIPTION 


RETURN 
PAUSE (frames}. 8C = franes 
athe BREAK keys pressed? 


INPUT 


necks current channel device ct 
= TL KC =paper, D = color 
oor Bs ATIR TS MASK T 


eer Cex. a: BILE (O-T}, H 


Processes oe + $ : y 
3: TOP, C= $i ie D'= SGN B, £ = SGN C, from calc stack 
ca {coon 


DRAW (COLOR; vey ae) 

Straight line ; 

seagate expression. Numeric, string, null string to cale stack 
seen 


INKEYS 

Find variable, CH_ADD -) char : 
AEOCB to cale "stack, reset FLAGS Dit 6 ‘NO (to string), 
fe to cale stack, no change to FLAGS 


2 ~) AEDCB, lose TOP 


ie = first char, CHADDR -) ASCII string -) cale stack (unsigned floating point) 
-) care stack {unsigned f floating polar } 

~) calc stack (unsigned floating point 

rst char, CH ADDR ~) ASCIT string -) cale stack (unsigned integer } 


stack ee point ) -) BC (routes) NZ iY negative 


floating point; -) A (rounded) NZ if negative 
floating point) -) asel: string -) currest channel 
Le in fi unchange 

L + unchanged 

ateger) CHL )#(DE) in (HL), (DE) unchanged 

loating point cae DE) in (HL), (26) corrupted 

ACES fn (HL), (OE es 


-) closest a o 0 in (HL) 


¢ 
¢ 
¢ 
Hi 
fl 
i 
f 
| 
(integer )-) (HL) (floating pout; 
Op iy ECOND { ) a XMOD ¥, INT QY), DE -) TOP, HL -) SECOND 


é to the Top +) TOP 
Natural logaritha TOP -) ie 
TOP (radians) -) [-1 (= TOP = 


Corresponds to juacrants 4 and } 


125 32 Cosine TOP (ANGLE) -) 10P 
126 31h Sine TOP (ANGLE) -) TOP 
127 33 Tangent TOP (anu) >) TOP. 
528 36 Arctangent TOP (ANGLE) -) TOP 
129 34 Aresine TOP (ANGLE) -) TOP 
130 35 Arccosine TOP (ANGLE) -) op 
133i 40 Square root of TOP -) T0i 
132006 SECOND to the TOP -) "sfeono, SECOND = new TOP 
193 wait for char in A {~ current cnanne.. Loops through INCH. 
134 Char in A -) current channel. 
135 RST 16 jumps to SENDCH 
136 Scans keyboard, 
137 ( Backspace. §_POSN, SPOSN. or _POSN effected 
138 -) Space -) current channel 
139 new line if screen (prisary) Outout orinter buffer if 192040. 
140 ee ASCII aessage table base (80h). A = Message #. Message ends with bit 7 set. 
342 Scrolls entire screen up one line. (primary) 
POINT 


DRAW A except enter with B = Y, ¢ = 
ith | blank 


fdd 128 to SERVICE CODE if JUMP is wanted instead of CALL. 

The address in the EXROM jeap table is 8192X - 2 3 SERVICE CODE, ee 

the address for SERVICE CODE id0 PUTHES is in error, The specified location is that for ERROR nessages which carry the 
aessage Twader ini not A. The correct address is 1870. 

Three consistent errors in the location of bank switching Toutines exist. One reaains in the location of CHNG_V in EXROK 

there is an apparent duplication for RST 16 and SENDCH. That for RST 16 is expendable and can be re-used, 


19 


TOURING 


ALPHABETICAL LIST 


-.Z88 RAM - 


The 288 has 32K of built in RAM (Random Access Memory) of which about 
20K is free for use. This may be increased by adding extra RAM cards in the 
slots along the front. There are three slots, each of which may take upto | 
Megabyte of RAM although it is advisable to use slots 1 and 2 for RAM leaving 
slot 3 available for EPROM. This is because slot 3 is the only one which can be 
used to record data onto EPROM, Also RAM cards will consume more power 
in this slot than in slots 1 and 2 and therefore reduce battery life 

Inserting a RAM card 

1) Make sure that the Z88 is switched ON and the INDEX is displayed. 

2) Open the perspex flap at the front, the Z88 will give a short beep and the 
screen will go blank 

3) Push the RAM pack into the slot making sure that the label is facing 
‘outwards and is the correct way up. Make sure that the card is pushed in as 
far as it will go. 

4) Close the flap. The 288 will turn itself back on and re-display the INDEX. 
You can check that the card has been recognised by typing <>CARD 

If you remove a RAM pack from the Z88 any data held in it will be lost 
instantly. Do not remove a RAM card unless you must. If you do have to 
remove a RAM card, the Z88 will display ‘FAIL’ in the top right hand corner 
of the screen. You will have to perform a soft-reset on the Z88 and any 
suspended activities will be lost. 


ADDRESS CODE MACRO SERVICE 
13267 124 ANGLE 
15357 1 BANK _{NABLE } 
8201 18 CALLTBANK 26063 {26064} 
3747 (3726) 91 C 9 
7 33 
34 
5 
56 
52 
38 
22 
oF 
69 
425677 } 18 i4 
25366) 0 3 
125970) 86 8 
103 3 
123 120 
ée 14) 
is 38 
136 103 
§ é 
62 a4 
4 112 
139 136 
102 26 
86 &9 
36 10) 
148 (21) ( 
“32 3 
(10) 2 
55 3 
7 97 
7 142 
41 ig 
30 126 
107 108 
61 113 
56 127 
132 1 
9 4 BORD 229X 
15 YFER BYTES 26401 (26802) 


ZS ROM 


ROM cards are used to contain extra data or applications programs such as 
databases, communications program or spelling checkers 


The procedure for inserting a ROM card is very similar to that for inserting a 
RAM card, First turn the 288 ON and enter the INDEX. Open the flap and 
push the card into a free slot Close the flap. The 288 will take note of the 
new card, check this by typing <>CARD from the INDEX. 


To remove a ROM card the Z88 must once again be ON and you must be in 
INDEX. You must not have any suspended activities which are making use of 
the card. To check this look at the list of activities on the display and see if any 
of them have a number in the rightmost column. If they do, and this is the slot 
number which holds the card in question, then that activity must be killed 
(using <>KILL) before the ROM card is removed 

Hf vou remove a card that is in use the 288 will sound a warning when you 
lose the flap and display the symbol CARD at the top right of the sercen. You 
must then replace the card in the same slot that it came from and kill all 
remaining activities 

Ht sou remove a card whilst you are not in the INDEX the 288 will sound a 
warning when you close the ap and display the symbol INDEX at the top 
right ol the scrcen, You must return the card to the original slot, close the flap 
and return to the INDEX. You will then be able to remove the card normally. 


Do not remove ROM cards while the Z88 is switched OFF. 


A REVIEW OF “MANUAL A" FOR THE 288 
by Eliad P. Wannum 


This issue I want to review a manual written by Mike Fink, 
of Domino Cubes , a 288 hardware and software vendor. This 
manual can be purchased from Domino Cubes for $10.00, or can be 
gotten free with the purchase of a Z88. 

The Manual A starts out by telling you that it is written 
for people that know nothing about computers. This is not quite 
true, as he does use terms almost immediately that are not in 
the jargon of the non-computer literate. Examples are cursor, 
reset, word processing. This may seem minor, but it is the area 
where most texts that Claim to be for the absolute beginner fall 
down. A glossary should be available at the beginning, or each 
new term (new to non users) defined as it is first used, 
possibly with an example given. With this done I would have much 
more faith in manuals. Aside from this point, the manual assumes 
only that you can read and understand English. With the manual 
that comes from Cambridge when you buy your 288, I believe that 
the learning curve (amount of time it takes to assimilate data) 
can be shortened for new users of the Z88. 

The manual starts out by getting you to get the computer 
turned on and introducing you to the uses of the various keys on 
the keyboard. By the time you are done you will have learned the 
rudiments of navigating the keyboard and the various menus. You 
are started off in Pipedream, and cover how to use it as a word 
processor, and then briefly what to do to use it as a 
spreadsheet. Where necessary, you are referred back to the 
Cambridge manual and given the page numbers to use. 

The manual then goes on to cover the Diary, Printer Editor, 
Panel, and then BBC Basic. For those raised on Sir Clive’s other 
computers, the coverage of BBC Basic is necessary, as there are 
changes, but not so many that this can not easily be overcome. 
This was necessary as Sinclair gave up his own Sinclair Basic 
and QL Super Basic to Amstrad a few years back (not that they 
have done anything with Super Basic since then). At this point 
Mike goes on to cover the Calendar, the Alarm, and Formatting. 
This covers the original part of the manual. 

The rest of the Manual A consists of excerpts from various 
sources, such as Cambridge Z88 NewsNotes, 288 EPROM (a_ small 
English magazine and club devoted to the Z88) and PIPELINE (a 
short lived magazine started by Time Designs Magazine and Paul 
Bingham). . 

Would I say that the Manual A was worth $10.00? Definitely 
yes, particularly for someone new to computers. I have been a 
computer user since 1974 and managed to learn things about the 
Z88 that were not readily apparent with the material that came 
with my Z88. It is not perfect and has a few minor misspellings, 
but the data on how to use this little portable computer is what 
we are after, not an "A" on a book report! 

I inherited my review copy of this manual for the Z88 from a 
friend, and am glad I got the chance to see it. Mike Fink of 
Domino Cubes also has a Manual B for the more advanced user of 
the Z88. I hope to get a chance to review it in a future issue 
of UPDATE Magazine, the best source for Sinclair users in North 
America. 

This manual can be obtained from Domino Cubes , 1800 ‘7th 
Ave. Suite 1-C, New York, New York 10026. The phone number is 
212-749-7061. 


21 


ITEM 


AUGUST 1986 
SEPTEMBER 1986 
OCTOBER 1986 
NOVEMBER 1986 
DEC 86/JAN 87 
FEBRUARY 1987 
SPRING 1987 


BYTE POWER CATALOG 


PRICE 


DESCRIPTION 


*** MAGAZINES *** 


GRAND PRIX, HANG MAN, ETC,. as 
CONSTRUX, PHONE BOOK, ETC,.......- a 
AIR DEFENCE, CHARTS, CHECKERS, ETC,... 
PLUKKERS HUNT, TOWERS OF HANOI, ETC,.. 
GHOST HUNTERS, GRAFIX, Q*BER, ETC,.... 
SPREAD SHEET, TEXT PRINTER, ETC,. sha 
QUALIFIER, DECISION MAKER, ETC,........... 


FALL 1987 QUIZOMANIA, INTEREST CALCULATOR, ETC, 

FEBRUARY 1988 CONFLICT, PACHIZEE, MUSI-PRINT, ETC,. 

MAY 1988 FUTURE HERO, RENUMBER II, PUZZLE, ETC, 

FALL 1988 SPREADSHEET II, SCREEN COMPACTOR, ETC, 

WINTER 1989 nee eee ee eee eet eter eee tence eee 

BEST OF ARCADE BEST GAMES (AUG 86-FEB 88)............54% 22.95 

BEST OF BUSINESS BEST BUSINESS PROGRAM & UTILITIES........ 22.95 

BEST OF ENTERTMNT BEST ENTERTAINMENT & STATEGY GAMES....... 22.95 

6 ISSUE SUBSCRIPTION (OR ANY 6 BACK ISSUES)............-.4.5 32.00 

DEMO/ CATALOG SAMPLE OF BYTE POWER MAGAZINE & CATALOG...3.00 
*** OTHER SOFTWARE *** 

FONTS II 28 FONTS, 64 COLUMN PRINT, DOUBLE, ETC,..22.95 

2+PAST SAVE & LOAD AT HIGH SPEED (330@ BPS) 


PRINT FACTORY 
THE COMPANION 


PRINT ANY TYPE OF DOCUMENTS (POSTER etc).27.95 
LOTS OF IMAGES, FONTS, etc, FOR FACTORY..27.95 


THE PRINT FACTORY COMES ON 3 TAPES AND THE COMPANION ON 4 TAPES. 


NOTE: 


FOI IO IOI IO IC 


Anyone with remaining issues can, on request, exchange the 
remaining issues credit (in part or in full) with any 


of the above software (not exceeding credit value) 


All prices include shipping & handling charges 


Send all checks & money orders (U.S. 


Pickering, 


funds only) to: 


BYTE POWER 
1748 Meadowview Avenue, 
Ontario, Canada L1V 3G8 


For All Computers 


EXPLORING DEF FN and FN 


There are many amongst us who could broaden 
our MATH by use of the DEF FN and FN functions. 
DEF FN gives us 52 FORMULA storage slots to be 
exercised by a simple use of the FN command, Most 
of us have to really search the TS-2068 keyboard 
to find the appropriate Key. (under the 1 and 2 
keys). For the Ql and 288 we simply type the DEF 
FN and FN commands. 


There are 26 possible numerical expressions 
of the DEF FN command, one for each letter of the 
alphabet. There are 26 more for literal 
expressions. In each case we can think of DEF FN 
as "holding a formula". And, we can think of PN 
as a command to execute the formula. A typical 
numeric formula is given as: 200 DEF FN 
a()=200/PI. To execute the formula: PRINT FN a(). 
OR <LET x=FN a(). You can even ‘LET a=FN a()) as 
the FN letter is not a variable. The formula MUST 
be in a LINE of PROGRAMMING, because each usage of 
FN causes a search of program lines for the 
formula to execute, 


A LITTLE PROGRAM DOES a LOT of THINGS: The 
following little program demonstrates several ways 
of using DEF FN and FN. Note at line #100 that we 
assign the FN values to variables to use within 
the DEF FN formula. This works because none of 
the variables are required in line numbers "lower 
than 100". The season for using variables is 
because we cannot use FN “within a DEP FN 
formula”. Example: 200 DEF FN a=DEF FN b()#10. 
That wouldn't work. So, to use DEF FN b() in the 
formula we must first assign a variable to carry 
the value. Example: LET y=FN b()}. Then: 200 DEF 
FN a()ty#10. There isn't any other restrictions. 
In fact, DEF FN is somewhat similiar to the QL's 
Super basic “Procedures”, except less restrictive. 


Now to explain the little Demo Program. 
There are 7 examples of DEF FN Formula or 
expressions. These are in Lines 20, 40, 45, 50, 
55, 127, and 128, The first 5 are explained with 
RiMarks in the program line. Incidentally, the 
program lines could be any number high or low. 
And the lines can contain both the DEF FN formula 
and programming to be executed. 


INPUTS begin at line #40 for the needed 
variable assignments for the DEF FN Formula to 
work, Then at line #105 we demonstrate that a new 
variable (width) can be input and the other new 


parameters of the formula can be gotten via the FN 
command. 


Line numbers 30, 40, and 125, go logether to 
demonstrate several unique ways of using the DEF 
FN function. At line #30 we initialize a String 
Variable. Then at line #40 we use DEF FN a$() to 
slice the string's first five (literal) numbers. 
Then at line 125 we use VAL to convert the literal 
string into a number, and multiply the number by 
ay : 


Line #127 assigns the DEF FN d() formula in 
an unusual way, using Boolean Logic. Then the 
logic value is printed. 


Line #128 uses the Boolean logic of line 127, 
and another Boolean evaluation to assign the DEF 
FN c$() formala. Then line 128's FN command gets 
the solution and prints it ("Hello or Goodbye"). 
Obviously, looking at the Boolean examples, the 
power of DEF FN is expanded tremendously over 
simple mathematics formula resolution. Boolean 
logic can tie in several differential equations 
and select the proper one for execution, depending 
upon a variety of possible circumstances. 


For example, line #127's Boolean logic could 
wake DEF FN d() equal as many as 20 or wore 
different values, just by adding wore logic to the 
bracketed evaluations. Then line #128's Boolean 
evaluators could be as many conditons as line 
12T's formula could produce. The only real 
limitation of the number of Boolean formula would 
be the capacity of the screen to key in the 
program line's logic. [ often use as many as 12 
Boolean conditions in one program line formula, 
('m not trying to dazzle, but to say that there is 
no maximum limit to the way that DEF FN can solve 
both pure math formula and LOGIC itself. 

Lets look at a long but simple formula 
assignment for DEF FN a(}. The senario is, a menu 
is ased to elect the type of math formula to 
solve: 1. Area of Rect. 2. Width of Rect. 3. 
Length of Rect. 4. Area of Circle, 5. 
Circumference of circle. (we could add a dozen 
more), Variable Z is assigned the number touched 
after the menu. ie, af if item #1 is elected. 


The DEF FN formula would be: DEF FN a()=(1** 
AND 2=1)+(a/1 AND 2=2)+(a/w AND 2=3)+(PL *r“2 AND 
a=4)+(P1 *d AND z=). Then (PRINT FN a() > would 
produce the solution for any of the five wath 
problems, Of course, the needed inputs of 
variables would preceed the solve line. SO, if a 
dozen or more wath problems can be solved by one 


23 


DEF FN a() formula, the limitation of 52 DEF FX's 
does not seem to be a limit at all. 


I believe that the little program dewo will tPR4# | 


give enough examples to whet anyone's appetite to MAGAZINE 

make use of the DEF FN and FN functions. There & 
isn't much text written about these functions that 
are present in most computers. The manuals wont 
even give an inkling of the versatility that the 


functions have, nor how to use them. 
Experimentation is the only way to develop one's 
prowess. If Binstein had had DEF FN he would have A 
produced a formua for “anti-gravity. Try your Ed. Guy Enterp 
luck and you may do that. Have fun! -BJ_ QUALITY COMPUTER PAGOUCTS 
Sales and Information: On Line Support: 
. {213) 759-7406 The Grey Matter BBS 
P.O. Box #2186 
Inglewood, CA 90305 213-97 16260 (CALAN) 
5 REM ** Applicable te ALL TIS © Hardware «© Software © CPIM 
TS-2068, 288, and QL 
6 REM 


1 REM Adjust syntax for QL / 288 

10 REM “Demo of DEF FN and FN” 
Type RUN 

15 REM 


20 DEF FN a{)=Pi¢r°2: REM Triangle Area MDM 


30 LET k$="1234567890" 


40 DEF FN a$()=k$(1 TO 5): REM Slices k ENTERPRISES 
’ TIMEX & SINCLAIR 
45 DEF FN b()=1*w: REM Area of Rectang! COMPUTER SPECIALIST 
e 
50 DEF FN w()=x/1: REM Width of Rectan ctaacsane Suave sacauns 
gle ‘ (817) 781-1088 (517/781-3680 
4 ROAD 
55 DEF FN 1()=x/w: REW Length of Rectan Bite tern cca al aseos 
gle 


60 INPUT "Input radius "sr: PRINT "The 
Circle area is ";FN a()} 
65 INPUT "Enter Rect Width/Length";w,1: 
PRINT "The Rect Area is "3FN b() 
100 LET x=FN b(): LET y=FN w(): LET 2=FN 
WW) 
105 INPUT "Enter New Rect Width “sw: PRI 
NT "The New Length is ";FN 1() 
125 PRINT "PN a$()#2=";VAL FN a$()#2: RE 
M converts slice to number, times 2 
127 DEF PN d()=(0-AND ¥(20)+(1 AND w)19) 
: PRINT "FN d() Boolean logic=";FN d() 
128 DEF FN c$()=("Hello” AND y<1)+("Good 
Bye” AND y)0): PRINT FN c$() Indiana 
Sint Lair 
s Timex 


YeRe. Tate ote xa. GIOUP AZ 


24 


QL_GENEALOGIST 
Reviewed by Gary Norton 
43 Richardson St., Billerica, MA 01821 


QL_GENEALOGIST by Chris Boutal is a program 
that allows the user to prepare a family history. 


It is one of the best looking and operating 
programs that | have seen for the QL or any other 
computer. Although more than 107K bytes long, it 
loads in only a few seconds, 


The Configure section offers several choices for 
paper and ink colors to allow for individual 
tastes. Also, several variables and printer 
settings can be altered to customize the program. 


The program is multi-menu driven. When a 
selection is made on the initial menu, a second 
menu appears beside the first, and so on, until 
all selections are chosen. 


A menu feature that | especially like is the 
option either to use cursor keys and ENTERing or 
to simply enter the first (or in some instances 
the capitalized) letter. 


Several types of reports can be generated and 
sent either to the screen or to a printer for a 
hardcopy record. There is an Export option so 
files can be used in Archive. 


An added feature is a demonstration file of the 


British Royal Family from William |, born in 
1027, to the present Queen Elizabeth 11. 
in comparing the ease of use, the features 


offered, and the reports provided, | do not think 
there is another genealogy program for any 
computer that can out-perform the QL_GEMEALOGIST. 


| compared it with Andy Carmichael's RELATION 
program, at least as much as | have been able to 
get it to work, as well as to a genealogy program 
for IBMs. QL_GENEALOGIST is a hands-down winner 
against the Archive based RELATION, which is very 
slow, limited in output and much more confusing. 


The !BM program, FAMILY TREE, ETC., from Pinecone 
Software, is as good as QL_GENEALOGIST in report 
output but has fewer options. It does not have 
the type of Research section available in the QL 
program nor does it have the Spelling option, to 
accomodate variations in surname spellings. 


On the other hand, when the {8% program prints 


out the family tree report, it includes full date 
for birth, marriage and death, as well as the 
location of each. 


USER FRIENDLY 


As previously mentioned, QL_GEWEALOGIST is very 
user friendly. The manual has a tutorial. If you 
use it and follow what is happening, by the time 
you complete it, you are ready to begin. 


The 35 page manual is well structured, includes 
an index for quick referencing, and with only a 
few minor exceptions, is very concise. 


The best part of the program is the way it walks 
you through each phase of operation with ‘its 
mult i-menu format. 


Another excellent feature is the ability to 
design report outputs. For example, the user can 
order the report alphabetically or chronologic- 
ally. There is even a cross-reference feature to 
see the relationship between any two people and 
who their closest common ancestors are. 


While no prograin is 100% perfect, this one comes 
close. The only faults - and I'm nitpicking here 
- are the following: 


1. Intentiona'ly, to save memory, there is no 
specific gender recognition as in the RELATION 
program. This rarely presents a problem except 
in the case of cross-referencing with a childless 
person. [If a person and his/her childless aunt 
are selected, the relationship is identified as 
Uncle/Aunt of the person being cross-referenced. 
However, if the aunt has a child she is also 
identified as being a Mother, specifying the 
gender. This is a minor feature, but one that 
would help clarity. 


2. The program can crash if an empty drive is 
referenced. !f you have been updating the 
database, and haven't saved it at this point, all 
that was updated will be lost. The author 
explained that the absence of error trapping for 
this was a consequence of decision not to use any 
toolkit extensions so that the program would be 
compatible with all ROMs. 


3. Hardcopies of some reports, such as the 
single line Royal-names demonstration, are very 
paper intensive. The Pedigree and Tree reports 
of the Royal Family have many pages of wasted 
paper. When collatoral relations are included, 


) 


the space is filled. 


The full-blown QL_GEWEALOGIST requires at least 
256K memory. For those with unexpanded QLs, 
there is a microdrive version to use with only 
128K memory. {t offers the same multi-menu 
screen, but in order to fit into memory several 
features were eliminated. 


Only the Family Tree report can be generated. 
Both the Research section and the Notes section 
were left out, but the Export mode is retained. 


Even cut-down it is still a useful and easy-to- 
use program for anyone with an unexpanded QL who 
is interested in mapping out a family history. 


QLLGENEALOGIST is certainly an outstanding 
program. | cannot begin to give sufficient 
accolades to Chris for his effort. If one is 


contemplating the task of preparing a family 
tree, s/he will be well served by this program. 
Until now, nothing available for the QL fit the 
need. Now, thanks to Mr. Boutal, anyone would be 
hardpressed to come up with a program for any 
computer that does a better job than this one. 


QL_GEWEALOGIST is available in North America for 
$40.95 (mdv = +$8.00) from EMSoft, P.0. Box 8763, 
Boston, MA 02114. Phone (1-617) 889-0830. 


Z%§ Using Extra RAM 


When you insert a RAM card the extra memory space which it provides will 
be instantly available to activities such as Pipedream, However, files which are 
saved in RAM must be specifically directed either to the original intemal 
memory or to the extra memory provided by the card, For example, if you 
insert 1 RAM card in slot 1, in order to cause it to be used for files you will 
need to alter the default device setting in the Z88's Panel utility. 


To do this enter the Panel utility by typing 
Us 

‘Then move the cursor to the default device and change the value to 

:RAM.1 

‘Any new activities which you start will then save their data in the new RAM 
card. 

Existing activities will still save data files in the old RAM. To cause an existing 
activity to use the new RAM, go into it and then enter the filer by typing (JF. 
Use the select device option to select the new RAM card and then return to 
the activity by pressing ESC. 

If you have RAM cards in more than one slot you may wish to save files to 
each of them explicitly. To do this you should use the device name :RAM.1/ 
or :RAM.2/ when specifying the filename where the number refers to the slot 
in which the RAM card has been placed. The original memory of the Z88 can 
be referred to as :RAM.0O in all cases. 


26 


Justified TRANSLATES 
~~ Bob Hartung ~~ 


One 
LATE 
right-hand 
example, 


objection to the imbedding of TRANS- 

characters in QUILL text is that 
justification is altered. For 
if a character is inserted 
before a word or phrase to change to 
italics and another is inserted to end 
italics, the justification would be off 
by two character-spaces at the end of the 
printed line. One could substitute the 
italic ON/OFF codes for those used in the 
High/Low definitions for superscript and 
subscript in Typeface. If an entire para- 
graph is to be affected by the command 
codes, they could, of course, be inserted 
into the blank lines preceding and 
following that paragraph. 


Another approach (which may also be used 
in Tasword 2068 graphics definitions) is 
to insert code 32 (for space) ahead of 
the ON code-sequence and following the 
OFF code~sequence. For example, in 
INSTALL_BAS I used the character obtained 
by CTRL SHIFT I so the TRANSLATE sequence 
(in Epson code) is CTRL SHIFT 1,32,27,52 
as the ON-italics sequence and CTRL SHIFT 
0,27,53,32 for OFF-italics. This works OK 
as long as the affected word or phrase is 
not at the very beginning or end of a 
printed line, which may require some re- 
phrasing of a sentence or paragraph. 


Z93 EPROM 


EPROM aards can only be used in slot 3. They are designed to be used for 
long-term storage of important data or programs. Unlike RAM, EPROMs will 
retain information even when removed from the 788. Thus, in addition to 
providing a means.to make back-up copies of valuable data, EPROMs provide 
a convenient means for transferring data between Z88s 


One important fact to note about EPROMS is that data cannot be changed 
‘once it is recorded into them. If you record a file onto EPROM and then make 
some changes you will be able to record a complete new copy of the file but 
this will use up more space within the EPROM. The space occupied by the 
original version will not become available again. When an EPROM becomes. 
completely full in this way you will only be able to re-use it by erasing ALL 
the data which it contains. EPROMs cannot be partially erased. 


EPROMs may be inserted or removed at any time, except when they are 
actually being read or written to. They do not consume much power except 
when being written to, at which time the Z88’s screen will be switched off to 
conserve power. 

Note ~ It is important to remove any EPROM card from the Z88 if you have 
to re-power a 288 which has been leit without power Otherwise there is a 
small risk that data on the card may be corrupted. If the EPROM becomes 
corrupted it will need to be fully erased and all the data will be lost 


WHEN TO UPGRADE: THE QL IN TRANSITION 
by Al Feng 


Shortly after I bought my first QL, I learned about 
both the THOR and the FUTURA. I thought: "Gee, I wish 
own about the THOR..." Consider that I was just 
"graduating" from the TS-2068; and, I was still faced 
with the (then daunting) task of adding a disk drive 
interface, the actual drives, et cetera. The THOR 
would have provided a "clean” package -- sort of like 
going into a local computer shop and coming out with a 
(gasp) IBM-PC or APPLE 


Wouldn“t you know it, about a year later and the month 
AFTER I finally decided to add a 512K memory expansion, 
disk interface and disk drives, the TRUMP CARD was 
announced. 


Timing is everything! 


In the intervening years, I°ve added-and-swapped "real" 
keytops onto the QL°s keytiles; swapped one of my 5.25” 
720K drives for a 3.5" 720K drive; upgraded the ROM 
code a few times (currently: MINERVA); and, changed to 
a "real” Power Supply (I “wired” my board a bit 
differently than Dan Elliott had described; but, either 
way, worth the effort/expense). 


By the time you read this, the first of the GOLD CARDs 
(MIRACLE SYSTEMS) should be in service in New England 
and environs. The information on this is that this is 
THE UPGRADE that many of us were clamoring for a couple 
of years ago. I understand (from Peter Hale] that the 
board is a disk interface with a 68000 and about 1. 8+ 
meg of RAM memory running at about 4x the speed of a QL 
‘the memory is tied to the “new” processor) and capable 
of FORMATting/READing/WRITing 1.44 meg disks on an 
appropriate drive. The UK price: 330 British Pound 
Sterling. 


Where was this WUNDERKARD two years ago when my entire 

QL system shorted out? Based on my previously 

established acquisition time-table (and, LUCK"), 

MIRACLE SYSTEMS should have announced the GOLD CARD the 
month AFTER I had replaced everything. More to the 

point: Am I (still) standing in line for the 

opportunity to rejunvenate my QL? ; ' 


First, at 330 BPS it is a relative bargain when 
compared with the TRUMP CARD (around 300 BPS) if -- 
and, let°s make that a BIG IF -- you are living in the 
UK and know someone willing to give you real money for 
your half-way-to-obsolete, RAM-populated floppy disk 
Conly) interface. 


While the 330 BPS sounds pretty reasonable, the initial 


27 


US price is in the $700-- range. WEE-OH! Who said 
that New England was going through a recession? 


If you haven“t already upgraded your QL, and you aren't 
one of those "gotta be the first on my block to have 
the new toy” people, then the odds are that you won't 
allocate 330 quid for your computer (if you live in the 
UK), much less 700 American dollars 


MEGA-STE (with Jochen Merz board] notwithstanding, 
there are at least two-or-three alternative 68000 
platforms in various stages of development that could 
be a new home for QDOQS 


The advantage of breaking-away from the original QL 
platform to one of the (forthcoming) alternatives is 
(presumably): 


a) better video; and, 
b) (probable) hard disk support. 


The GOLD CARD maintains the QL°s current video output; 
and, doesn“t have hard disk support (1 presume that 
MIRACLE has only sold about a dozen of the 1000-or-so 
hard-disk interface boards that they probably made ‘to 
date) ... that is, they want you to buy the hard-disk 
interface in addition to the GOLD CARD]. 


HMMMmmm Let*s see: 700 + 250 = 950. If we allow the 
numbers in this simple equation to equal dollars (my 
understanding is that a MIRACLE hard disk interface 
costs about $250), then we have the price of an 
AT-class clone; and, the clone will have the physical 
hard disk installed for that price whereas the "700 + 
250" is just for the two interfaces, 


Yes, I like my QL (very much). And, I suppose if the 
price of the GOLD CARD were only $330, I*d really give 
it some serious consideration. 


But, while the TRUMP CARD was a winner in its time, the 
GOLD CARD is something you~1l probably be paying for 
over time. 


HAPPY TRAILS, 
AND COMPUTING, 
TO YOU 


ERRATA AND ADDENDA 
Bob Hartung, 2416 N. County Line Rd. E., Huntertown, IN 46748 


USING LOOPS IN QL DO FILES 

Thanks to Peter Hale for pointing out to 
me that I should clarify and expand on 
the comments I made on using loops in DO 
files (p. 28, April UPDATE). Only a sim- 
ple FOR loop is given as an example in 
section 6.1 of the TKT2 manual. Both the 
simple and the FOR/NEXT type of loop, as 
well as the REPeat loop, will work as 
one-line multi-statements in a DO file, 
as they do in a direct-command multi-~ 
statement or in a numbered program 
listing. However, neither the END FOR 
nor the END REPeat will work if placed 
in a separate line-statement from the 
one used to initialize the respective 
loops. 


MOVING TS2068 CODE BLOCKS 

For anyone not familiar with the pro- 
cedure for relocating blocks of code 
from one TS2068 address to another, my 
references in the April UPDATE, p.16, 
and in the January issue, p. 31, to 
installing code for printer drivers may 
also need some clarification. If stored 
in a first-line or last-line REM, 
relocatable machine code for a_ printer 
driver or other routine may be merged 
with a program listing rather than being 
loaded separately. 


Using Tom Woods' 117-byte printer driver 
from his ProFile 2068 as an example, 
first load in the program, then make a 
save of just this block of code by using 
SAVE "filename"CODE 63672,117. The ori- 
ginal beginning address for the block is 
63672, and 117 is the number of bytes in 
the block. 


Before the move can be made to the REM 
statement, the statement must first be 
padded out to the required number of 
bytes by typing in 1234567890...etc. to 
exactly 117 bytes for a first-line REM 
or 121 bytes for a last-line REM. Once 
this is done, the saved code block is 
transferred by the command LOAD "file- 
name"CODE m,117. If moving the block to 
a first-line REM, then use PEEK 23635+ 
PEEK 23636*256+5 for m. For a last-line 
REM containing 121 bytes use PEEK 23627+ 
PEEK 23628*256-121 for m. 


If desired, a first-line REM may be re- 
numbered as line 0 by POKE 26711,0. To 


tell the system pointers where to find 
the start of the printer routine ‘in a 
first-line REM, include on another line 


in the listing POKE 26703,PEEK 23635+5. 
POKE 26704,PEEK 23636. Por a last-line 
REM use LET loc=PEEK 23627+PEEK 23628* 
256-121: LET msb=INT(loc/256): LET 1sb= 
loc-msb*256: POKE 26703,1sb: POKE 26704, 
msb, If a save is made of just the REM 
definition and the system variable POKEs 
it may then be merged with a program 
listing as desired or else used alone as 
driver routine. 


Note that because the Profile 2068 
driver uses address locations 63672-4 to 
store variable data there may be a 
conflict if any other code routine in 
your program uses these same addresses 


One way around this would be to POKE 
these three addresses back to their 
original values immediately after any 


use of LPRINT. 


Put some punch in your 


PRINT FACTORYe graphics! 
. ‘9 
y SHH 
CR RASARAARAGANANANAANINKIIAN RARRARARANANANANANAR AIS 


Collection#1 Collection#2 


Miscellaneous Animals 
Men/Boys Funny 
Women/Girls Sports 
Digitized Misc. Transportation 
Computers 
Food 
Holidays 

Xmas 


Over 150 large & small graphics 
in each collection! 


Only $12.95 ppd. each or both collections 
for $19.95 [Check or money order.) 
Available sil ped $ 1/4 DSDD LARKEN 
or OLIGER disk - please specify. 

Send order to: 

John McMichael, 1710 Palmer Dr, 
Laramie, WY 82070 


IF NWOT. WHERE HAVE VOU BEEN! 


WE HAVE BEEN SERVING THE T/S COMMUNITY 
SINCE 1961 AND WE ARE NOW THE WORLD'S 
LARGEST TIMEX/SINCLAIR DEALER! 

FOR JUST $3.50 (REFUNDABLE) YOU CAN GET A 
CATALOG ANDO PRICE SHEET SO VOU CANESEE 
wHaT we Have TO OFFER TO FILL YOUR NEEDS. 
FROM=PRINTERS AND INTERFACES(T.O-OISK> 

SBORIVES AND aga a We HAVERIT. 
Ti Ca = 
1419 1/2 7TH STREET 
OREGON CITY, OR 97045 
503/655-7484 NOON-10PM PT T-S 
FAX S03/6S5S-4116 24 HOURS 


FILES 2 
Reviewed by Peter R. Hale 
P.0. Box 8763, Boston, MA 02114 


One problem with the QL is that file handling - 
copying, backing up, deleting, identifying files 
on media, etc. - is a chore without an expensive 
multi-tasking front end like QRAM or TASKMASTER, 


Even Toolkit || requires SuperBASIC and famili- 
arity with the file handling extensions. 


When Peter Jeffries developed TASKMASTER several 
years ago, it had a versatile file handling faci- 
lity (FILES) with many unique features. 


Now comes FILES 2, an updated, improved version 
of FILES that works WHETHER or NOT TASKMASTER is 
installed and can be hot-keyed from within ANY 
program, PSION included. It takes less than 25K. 


The beauty of FILES 2 is its versatility, power, 
flexibility and error trapping. 


When FILES 2 is hot-keyed with ALT F2, a window 
offers nine file handling functions. Choose one 
then select the drives applying to the function. 


FILES 2 now supports two hard disks and two ram 
drives, as well as a two floppies, two mdvs and a 
designated alternate device. 


Six of the functions are: COPY (selected files), 
BACKUP an entire medium, DELETE or RENAME a file, 
and read the DIRECTORY. The FORMAT function 
error traps against erasing a formatted medium. 


New to FILES 2 is the option to COPY a file TO a 
NEW NAME, even on the same medium. 


Two specialized file handling functions report 
that they work can only under TASKMASTER if it is 
not installed: ADD ANOTHER executable PROGRAM to 
a multi-tasking environment and CHOOSE A FILE to 
load into a program (such as Quill) - a good 
sales pitch for TASKMASTER itself. 


But all other features and the many enhancements 
are available with or without TASKMASTER. 


Some nice added touches are that the ESC key 
halts a full backup; if adding a multi-tasking 
program to the environment, only executable files 
are presented in the window; the file length (in 
bytes) is now consistent with Toolkit II's WSTAT. 


The Delete File function now inserts DELETED for 
the deleted file name so that file numbering is 
unchanged. The file's date is kept when copied; 
under FILES a copy acquired the computer's date. 


31 


Two major enhancements are worth the price alone: 


When a medium has more than nine files, the 
universe can be shrunk by entering non-number 
characters. Without scrolling through a directory 
you can quickly verify the presence of “fred_aba’ 
by pressing 'f' then ‘r'. The odds are that one 
of the short list now offered will be fred_aba, 
If not, press ‘e', ‘d', ‘_', ‘a’, etc. 


The other great enhancement is that file contents 
can be viewed, When the window shows one or more 
files, press CTRL and the file number to display 
the file contents one screen at a time. Press 
any key (except ESC) to page through the file; 
ESC exits viewing the file. 


ALL ABOUT FILES 2 


FILES 2 replaces the existing FILES on TASKMASTER 
by overwriting; or it can be independently EXEC- 
uted from a PSION (or any other) program boot. 


On the surface, FILES 2 seems to do little more 
than TK2 (but without leaving an EXECed program.) 


BUT, after pressing ALT F2, pressing F2 opens a 
second level window with a number of parameters 
for each option. 


For example, files to be copied can be Jimited to 
doc files created or updeted since boot-up of a 
session or to only files that have ‘abc’ (case 
in-sensitive) anywhere in the name, This is true 
wildcarding and is impossible even with Toolkit. 


It expands the ability to select files based on 
the date stamp. A list can be restricted to those 
modified since boot-up, since last backup, in the 
past 24 hours or in the past 7 days. 


Files can be selected on type: All files, non- 
executable, Executable, or Sinclair Relocatable. 


FILES 2 is an great improvement, with features 
long on loyal users’ wish lists. If there is any 
complaint, it is that it has changed its colors. 


Windows have black paper. The borders’ are stil] 
red, but functions and many file particulars are 
now in green ink, which | find as hard to read as 
QUILL. It is, however, restful ... 22Zzzz .... 


FILES 2 is £12 (+810 sth/order): Sector Software, 
39° «Wray Crescent, Ulnes Walton, Leyland, 
Lancashire PRS 3WH, UK, Tel O772 452414, and 
other UK dealers. In North America it is $26.95 
ppd (mdv = +$4.00) from EMSoft, P.O. Box 8763, 
Boston, MA 02114-8763. Phone (1-617) 889-0830. 


EMSoft Software for the QL that really works 


Now has in-stock from Software’? the best 

true WYSINYG QL word-processor: text#? v 3.01 

with Qtyp spell checker, several new features 

(and unlimited North America help line.) 
text#! ver 3.01 (R) T mdys 119.95 
WYSINYG wordprocessor & Qtyp spel! checker 
fountext®*; graphic driver 4mdvs 49.95 
WYSIWYG output to 9 or 24 pin with 32 fonts 
founted*#: screen font editor | mdy 29.95 
Make text87 custom fonts 

2488; 24 pin driver Smdys 29.95 
for text87 only 

text®? ver 3.01 upgrade (with original)39.95 


Order two or more Software*? tities and take 
10% off the second title, 15% off the third 
and fourth. (Also for text®? thru 9/15/91) 


Boutal, Chris 
QL_GENEALOGIST (R) 2mdvs 40.95 
Family history with UK royal family demo 
CAPE Software 


RECIPE Tmdy 19.95 
Recipe card file dbf and demo 
EMSoft 

MAILBAG ver 3.1 Tmdv 24.95 
Mailing list _dbf with demo 

QLAND_LORD ver 3.1 (R) imdy 26.95 
Real Estate management _dbf 

TRUST_FUND ver 3.1 imdy 24.95 
Stock, Bonds etc _dbf with demo 

INVENTORY ver 1.3 Tmdv 14,95 


Personal property record keeping _dbf 
EMSoft title upgrade(with original) 4.95 
4 


TAX-1-QL/90 imdy 24.95 
1990 IRS tax template _aba 
TAX-1-QL/90 supplement imdv 4.00 
Additional files for microcart users 
TAX-1-QL/91 imdv 24.95 
1991 IRS tax template _aba 
TAX-1-QL/91: early bird 1mdy 24.95 
For orders received by 11/25/91 
MJM Software 
CAM MASTER demo (JSU only; 384K Ram) 9.95 
CAM MASTER site license 2850.00 
Platypus Software 
QLUSTer Tmdv 12.95 
EXECutable, multi-tasking files hand] ing 
QLussi Imdv 19.95 
Pseudo MS-DOS file handling on a QL 
Qfile 
MS-QLINK (R) 2mdvs 24.95 
Read/write/format QL/MS-O0S/Atar i-T0S 
DISCOPY Tmdv 14.95 


Fast copier between QL/HS-DOS/Atar i-TOS 


MS-QLINK with DISCOPY 3mdvs 34.95 


Sector Software 
FILES2: Taskmaster Files upgrade i mdv 26.95 
Now multi-tasks in any environment (R) 
Williams, Richard 
TABDEDITOR (R) 2mdvs 34.95 
Friendly Editor with vertical block defini- 
tion & 8 columns in 19” with word wrapping 
Wood & Wind Computing 


CHAOS BUSTERS 29.95 
SuperBASiC to ARCHIVE utilities & DBEasy 
DBEasy: UN or EXpanded QL 3mdvs 21.95 

User friendly front end for ARCHIVE (R) 
DBProgs ITmdv 19.95 


6 useful ARCHIVE utilities 
DBTutor: UN or EXpanded QL 3mdvs 24.95 
Archive "Flash card” to teach yourself 
HELPER 1 mdv 9.95 
SuperBASIC filehandling utility 
From MEDAC 
Ask for statistical and engineering software 


BOOKS & MAGAZINES 


Syntax magazine set & Foyt book 29.95 
All 48 monthlies, 3 quarterlies & book 
Syncware Kews 29.95 
All 60 issues (5 vols - 6/vol) 

Quantum Levels 19.95 
All 12 issues (2 vols - 6/vol) 

The Secret Guide to Computers 15.00 

HARDWARE 


T/S BUS Connector/Extender (3 pack) 13.95 
T/S BUS Connector/Extender 34(3 pack) 26.95 
KX-P1124 Panasonic printer ribbon 4.95 
Generic brand, high density ribbon 
KX-P1124 Panasonic ribbon (3 pack) 12.95 
SALE! SALE! SALE! 

Now through September 15, 1991, mention 
you saw this ad here and take 10% off any 
(not otherwise discounted) title. 


All prices are postpaid in N.A. 
(but subject to change without notice.) 


Choice of disk; add $4.00 per mdv. 
Send #10 SASE for review (R), if available. 
FREE CATALOGUE 
EMSoft 
P.0. Box 8763 


Boston MA 02114 
at ) 889-0820 


CABLE COLUMN 
By Bill Cable 


ARCHIVE SERIES 
PART 5: ALTER and DELETE COMMANDS 


So far in this series I have tried to spark reader interest in 
using computer databases while slowly introducing details 
of the ARCHIVE database system for the QL. We still have 
a few more Parts to go just covering the most important 
ARCHIVE commands, But by now anyone following the 
series should at least have enough information to create any 
sort of database they may be interested in and enter data 
into it. Getting the data in is half the battle. Soon we will 
tackle getting sensible information back out. 


The recent introduction of the Miracle System's Gold Card 
is the most exciting QL event in years. It will help even out 
the great speed disparity between the QL and PC machines. 
In all respects except one. 1 am happy programming in 
ARCHIVE on the QL. My one frustration is the somewhat 
slow screen handling. It is adequate but not fast enough to 
be impressive. 1 am hoping the GOLD Card will change 
that. One report said that a QL with GOLD Card running 
QUICKEN under PC Conqueror ran faster than QUICKEN 
on an XT. That certainly raises my expectations since 
anything run on a standard QL under PC Conqueror is 
painfully slow. 


PREPARATION 

In preparation for discussing the commands below have a 
copy of the GAZET_DBF as supplied with your ARCHIVE 
program handy. Make sure it is not your only copy because 
we are going to alter and delete records on it. Start up 
ARCHIVE, Have it ready to accept your input. Have the 
GAZET_DBF ready in a device. In the description below 
what you should type will be underlined and | will bracket 
special keys like <CTRL> for the contro! key. The arrow 
keys will be identified as <up>.<dwn><rgt><Ift> and 
hyphen means a two key press like <CTRL-rgt> for hold 
the control key and press the right arrow key. 


ALTER COMMAND 

The ALTER command works on the current record (see 
DISPLAY command Part 3) of your currently opened 
database, It is activated by typing alter<ENTER> at the 
ARCHIVE prompt (>). It presents an editing screen just 
like the INSERT command discussed last issue except the 
field values are set to the current record values instead to 
being empty. You will see the cursor at the first field when 
first activated. You are able to edit the record field by 
field. The current field is where the cursor is located. 


Once you start an alter (or inserting) you enter a special 
editing mode and there are special keys to do the editing. 


Any standard (non-editing) keys you press will be taken as 
data to be put at the current cursor position. 


The special keys for exiting are <F5>, <F4>, <ESC> and 
sometimes <ENTER>. Where <F5> means exit and accept 
record as displayed. <F4> means exit and keep record as it 
was before altering. <ESC> means abort command. <ESC> 
is a powerful key in ARCHIVE. It is better to use <F4> if 
canceling an alter. <ENTER> will exit you from an alter 
and accept alterations as displayed if you press it when the 
cursor is at the last field of the record. At any other time it 
just moves you to the next field. 


The special keys for moving to new field are <TAB>. 
<SHIFT-TAB> and usually <ENTER>. You move forward 
to a different field with <TAB> or backwards with 
<SHIFT-TAB>. <ENTER> works like <TAB> except at the 
last field you will exit and accept the record as displayed if 
you press <ENTER>, If the first and last field are 
displayed on the screen <TAB> and <SHIFT-TAB> will 
take you in continuous circular path from field to field 
with no exiting. 


The special keys for moving within a field or deleting are 
the four arrow keys <UP>, <DWN>, <RGT>, <LFT>, and 
standard QL deleting keys <CTRL-RGT>, <CTRL-LFT>. 
The <UP> key moves you to the first character of the field. 
The <DWN> key moves you to the last character of the 
field. The <RGT> key moves one character to the right. 
The <LFT> key moves one character to the left. The 
<CTRL-RGT> deletes the character at the cursor. The 
<CTRL-LFT> deletes the character to the left of the 
cursor, 


When the cursor first moves to a new field while altering 
(or inserting) you must be careful not to press any keys 
unintentionally. If the first key pressed is a non editing key 
(displayable character) ARCHIVE clears the field and 
replaces it with the character you typed, even if you just 
press a <space bar>. Pressing any of the field editing keys 
will turn off that sometimes helpful sometimes not clear 
field action. How do you add something to the beginning of 
a field without changing the rest of that field? Move to the 
field and press <UP> key. This puts you at the first 
character of the field (where you were anyway so you don't 
see anything happen) and being an field editing key it turns 
off the clear field function while you remain at that field. 
Now you can type in whatever you like at the beginning of 
the field without affecting the rest of the field. 


Except for the clear field quirk any non-editing characters 
you type will be inserted at the cursor and move anything 
behind it further out. If you are using the default display 
sereen each field is defined out to the far right hand 
column. If the field gets enough characters in it you will 
reach the limit of available space and you won't be able to 


add anything more. You will have to move the cursor 
somewhere else in the field and delete something then 
move back and add the rest. There are ways to put up to 
255 characters in a text field but we will discuss that some 
other time. 


Numeric fields behave a little differently than text fields. 
First of all if what you type is not a valid numeric 
statement it will be rejected and you will not be able to 
leave that field by anything except <ESC>. There is no 
explicit error message but none of the editing keys work. 
One nice feature is that you can type calculations or even 
use the ARCHIVE mathematical functions in your field 
entry for numeric fields. So .05*102 or 12.43+13.12 or 
123/45 or 156-79 or sin(45) are all valid entries. If your 
entry is a calculation and you move to another field the 
result of the calculation (the actual cntry valuc) won't be 
shown even though if has been calculated but if you move 
the cursor back to that field then it will be visible. 


Once you get use to these special editing keys used with the 
ALTER Command you will find they are quick and 
effective. The exact same keys are used with the INSERT 
Command except <F5> inserts the record as displayed and 
teadies a new one and <F4> exits inserting. One thing to 
avoid is putting spaces at the end of fields or clearing fields 
with spaces. Since spaces are not visible you may have 
unexpected behavior if you think there is nothing there and 
there is actually a space. After all a space is really a 
character that is not visible. A good general policy in 
computing is never put spaces where they could be 
confused with nulls (being empty). 


In order to ALTER an ARCHIVE database you will have to 
access the database with the OPEN command, To prove that 
to you let us first try to do it when we have accessed it 
with the LOOK command : 


look "{hgazet_dbf'<ENTER>  (look,{}=device) 
alter<ENTER> (alter) 


Notice that the standard display screen appeared and the 
special editing key uses are described in the help box 

i (make change) 
<ES> (done with change) 
Got error 101: write to read only file. Look only allows us 
to read the database we must open it to change it: 


close<ENTER> (close our looking) 

open “iigazet dbf"<ENTER> (open. {}=device)) 
alter<ENTER> (alter) 
<TAB><TAB><TAB> 

<TAB><’ > (move to pop field) 
20,5 (enter new valuc) 

press <SHIFT-TAB> repeatedly (see cursor go in a circle) 
<ES> (exit alter) 


Let's try aborting an alter 


<I 
<CTRL-rgt> (delete a character) 
<F4> (abort alter) 


Notice country$ field still seems to equal "FGHANISTAN" 
next<ENTER> (move ahead a record) 
back<ENTER> (move back again) 

Now we see that country$ is really "AFGHANISTAN" 

The displayed values don’t always equal the real record 
values depending on what we have done. (a little tricky) 


DELETE COMMAND 

The delete command is very simple. Whatever record is our 
current record is removed from the database. If there are 
any other records in the database then the next record 
becomes the current record after the delete. The deleted 
record is gone for good. An ARCHIVE database has to be 
“OPENED" before a record can be deleted. Continuing 
from above : 


deletecENTER> 
close<ENTER> 


Next time we will cover the FIND, SEARCH, and 
CONTINUE commands. Until then Happy Archiving. 


(the record is now gone) 
(necessary when done) 


BREAK INTO DATABASE COMPUTING WITH DBEasy 
DBEasy is my ARCHIVE front-end program for painless database work 


Featured in a 4 page review by Bryan Davis in the May 91 QL World 
Only $21.95 ppd in the US & Canada or $24.50 ppd elsewhere 


A $99.00 SPECIAL FOR THOSE WHO WORK WITH BOTH QLs AND PCs 
PSION’s PC-FOUR : QUILL, ABACUS, EASEL, ARCHIVE for the PC with manual and tutor disk 
Pius both the QL and PC versions of my DBEasy program included free on 5.25” or 3.5" 


Order from: Wood and Wind Computing, RR3 Box 92, Cornish. NH 03745 603-675-2218 


BAD QL MEMBRANES 
CRISIS INTERVENTION 


by Peter R. Hale, P.0. Box 8763, Boston, MA 02114 


if you are like most QL users, your QL has been 
running pretty well for some time now, once you 
got the bugs out of it. For some time now it has 
been a reliable computer that you depend on. 


Then DISASTER strikes! One or more of the keys 
doesn't respond when you press it. 


Under the worst of circumstances it won't respond 
to either the Fl or F2 key and you go into a 
panic, because that report is due tomorrow or you 
are absolutely flummoxed as to how to fix it. 


You may even think of getting another computer! 


But unless there has been a lightening strike or 
a major electrical problem and lots of smoke, 
don't think of the computer being wiped out. If 
it was working yesterday, it will probably do so 
well into the 2ist century, 


Your first thought should be that there is a 
crack in one or more of the keyboard membrane 
traces. 


The membrane is a piece of laminated plastic with 
silk-screened traces that connect a key press to 
the computer. Each key is at the junction of two 
traces. Pressing a key makes a unique connection 
between two traces. 


The original QL membranes were made of plastic 
that becomes brittle with time. At two points in 
the connections inside the QL the membranes are 
curled in a tight radius. That's where a crack 
is most likely to develop. New membranes are 
nade of better materials and the fix is easy. 


if neither the Fl or F2 key works, you can be 
pretty sure it is a membrane problem. Most 
likely one of the other keys fails to respond. 


First, press every key and make a list of which 
ones fail to respond. if one goes, then probably 
others went, too. 

Then look at the KEYROW MATRIX chart in the 
KEYWORDS section of the QL User Guide. 


Note the location on the chart of each key that 
fails to respond. All offending keys should 


appear in the same column or row. if one or more 
of the blocks in a row or column is not on your 
list, double check the key. 


If the problem passes this test you need a new 
membrane. 


KEYBOARD MATRIX 
COLUMN 
ROW 2 4 ee 
mca (ini Ca (am = 
r {ser {cr | ar fox | ov ' N 
6| 8 2})/6};ofe}lo]rtfu 
s} 9s |w 1 fw for | - y 
be 1, 
ate a [4 1 a |e }]otl us 
caps 
3 oes | 3K s |e -|6 
2 2 Ge] 89] kg] ew |e 
+ fenTer | up | esc \ | SPACE | cown 
Pos, ~ - =f 
ofr fm | s | ee | ro jes | « | 7 
co aoe BA 


You can temporarily fix the problem by carefully 
opening the case and examining the traces for a 
crack. 


if the crack is in the loop where the membrane 
exits the keyboard, you can sometimes make a 
mechnical fix by loosening the membrane from the 
sticky tape that attaches it to the shield under 
the keyboard, then reattaching it with a slightly 
greater radius to the loop. 


tf the crack is where the membrane is connected 
to the motherboard, a sharp pair of scissors can 
cleanly cut the trace above the crack. 


Both fixes are temporary to get you by until you 
can order a new membrane which will cost $17.00 
to $20.00. (1 still have the original membrane 
on my first QL; the "temorary fix" described here 
was done two and a half years ago! ... but | have 
& spare membrane for the next time!) 


if opening your case scares you to death, there 
jis at least one member of your user group who can 
change the membrane in a few minutes. 

Affinity stock 


Both Sharps and Mechanical 


membranes. 


35 


MECHANICAL AFFINITY CATALOG 


The following are now available from Mechanical Affinity for 
your Sinclair home or business computer. All items listed are 
available in quantity. Orders may be placed by check or money 
order to either Paul Holmgren,5231 Wilton Wood Ct., Indianapolis 
In, 46254 317-291-6002 , . -or to Frank Davis, 513 East 
Main St., Peru, In 46970 317-473-8031. Do not make’ the check 
out to Mechanical Affinity. All Prices include Postage already! 


BOOKS 
SYNCWARE NEWS Vol. 1 $8 All volume 1 issues bound in one book 
TOURING THE TS2068 ROM OPERATING SYSTEM by WIDJUP $15 
QL TECHNICAL GUIDE $15 


SERVICES and PARTS 

QL Internal ROM board- this allows you to put your favorite 
ROM version (JM, JS, JSU, MGUS, MGUK, etc.) on an_ eprom. 
This will lower power consumption by the QL by about 20% 
& drop the internal heat by close to 50 degrees fahrenheit. 
There is also room on the eprom for us to include one of 
the following programs if you are an owner of one of them: 
ICE, QFLASH, TKII, SPEED SCREEN, TKIII. Brd & eprom $40 -- 
Board alone $15 -- Custom eprom alone $25. Let us know 
which ROM version you want us to supply, or you can supply. 

Speedscreen supplied on your ROM or for ROMport $25. For ROMport 
you need to have CARE eprom brd or similar plug in brd. 

Internal battery backed clock for QL, uses lithium battery, so 
should be good for far longer than ordinary batteries. This 
plugs in where the 8032 goes, and the 8032 is’ then 
installed in it. $20 for brd & battery, or $26 installed. 

Replacement or backup power supply for the QL, no serious’ user 
should be without one (personal opinion). $15 

QL case, contains keys and bare motherboard, no microdrives. Can 
be used to replace bad case, keytops, or bad motherboard, 
or even as a start on building your own spare QL. $20 

Keytops for QL $7.50 Use to replace broken or missing keys, or 
the whole set, if need, be. These are originals. 

Micro Drive Cartridges $5 each, till supply improves for ones 
with the tab. $4.00 without the tab, each. 

MDV labels, 3 sheets for $1.25. For the QL. : ' 

QL membranes, from Paul for $15. 

TS2068 dock eprom boards, bare $10.00. These can be used for a 

TS2068 program on an eprom or can be configured to use for 

Non-Volatile memory boards (32K to 128K), or as RAM Disk. 


Tom Bent’s improved 8K TS1000 ROM on eprom. $10.00 Requires at 
least 16K RAM expansion to operate, but bug corrected. $12 if we 
supply the special socket. 


Disk Drives, half height 3 1/2 and 5 1/4. Order from Paul at $55 
@ for 3.1/2 or 5 1/4, or $165 for dual 3 1/2’s w/ case & power. 


Spectrum B ROMs, on eprom,bug corrected w/ additional characters 
set on the eprom for $10. 


We can supply for those who are owners of the tape programs the 
following programs on eprom: ZXLR8 for the TS1000, PROFILE for 
TS2068, MSCRIPT, HOT-Z AROS for TS2068, MTERM II for the TS2068 
and DELPHI UTILITIES for the TS1000. $10 for the eprom. 


THE DAYTON MICROCOMPUTER ASSOCIATION, we PRESENTS 


OMPUTERFEST 9] 


———] Sat., Aug. 24, 10 AM - 6 PM 
Sun., Aug. 25, 10 AM - 5 PM 
16th ANNUAL ‘COMPUTER AND ELECTRONIC CONVENTION 
Hara Conference and Exhibition Center, 1001 Shiloh Springs Rd., Dayton, Ohio 


Largest Computer Show in the arin 
Computerfest '91 Features........... 


Speakers and Seminars 
Product demonstrations 
User group and club displays 
Dealers from all around the country 
Hundreds of professional and flea market vendors 
Hourly door prize drawings (you must be — to wy 


Grand Prize: 
386DX COMPUTER SYSTEM ES 


2MB RAM 


Ea a 


80 MB HARD DRIVE 
ULTRA VGA COLOR MONITOR — 15.25" FLOPPY DRIVE 
MOUSE 13.5" FLOPP?7 DRIVE == Ta 


ENHANCED KEYBOARD MS-DOS y as ae aN 


EVENT PASS Good for Both Days 


$5.00 IN ADVANCE $6.00 AT THE poor 
$5.00 Advance Tickets available at: 
SANDBOX MICROSYSTMS, Fairborn Ohio 
SOFTWARE, ETC. , Dayton Mall 
ABBY'S SOFTWARE, Fairborn, Ohio 
MENDELSON'S, Dayton, Ohio 
VANDALIA COMPUTER, Vandalia, Ohio 
All activities take place INSIDE! Acres of Free Parking Children under 12 FREE with adult 
Call 313/263-FEST for more information 


DAYTON AREA MAP 


Ovo Predict 
excLEWOO0 CoXDAYTON MUNICIPAL AIRORT aoe 
a Os Natone! Food PIQUA 
2 " I} z i panes 
Coven pase peer 
now WS — AE A 


na ala 1-70 eae Qf oarmanocn | V/ 
S by ssctsam % ea 
we : Sy | ee 


=: 
¥ 
g 
§ 
a 2 
f A 
8 
al 
aan 5 
Y, C 
4 oF 
| 3 
a gE 


; fej 
¥ 5 Dayton Hara ln ON 


ArenaCenter - Tamer Roos 
A, Mesdowss a 
High School 


z 

ie 

é 

5 

" AN \4 
RL 35 &p 
2 
oe 
wcranes_ AN y 
@ HARA ARENA CENTER-HAMVENTION 
© Meadowdale High Schoo! Se 
(Alternative Activities and FCC Licanse Exams) I one 
® KOA Kampgrounds {\ PP git 
© Dayton Convention Center-Banquet . 
© Montgomery County Joint Vocational Schoo! Watch for Signs. Se... A iets 
(Self-contained RV's only) Pra 

® Mendelson’s (Parking) 
@ Forest Park (Parking in rear) vi 
© Salem Mall 
© Dayton Mall 


@ Northridge High Schoo! 


a 


The Sinelair Desktop 
Publishing Journal 


Volume 2 Issue 2 Spring 19091 
Editea BY Mike Fetierski 


o % Point Font Patrol, 
0 Two Evenings W/Master-Scribe, 
o Where to Write, 
o And The Great SDPJ 
Product Roundup... 


In the Winter 1991 issue of the SDPJ 
we talked about font packages 
available for the TS2068/Spectrum. 
These fonts could be loaded and 
displayed on screen or used in 
Program packages such as Pixel Print 
or The Print Factory. In the second 
paragraph of the article, we promised 
to discuss larger point fonts in a 
future article. This article intends to 
discuss 16 Point fonts which can be 
used with Pixel Print or The Print 
Factory. 


The largest source for 16 Point fonts is 
Mountaineer Software. Mountaineer 
provides not only the fonts but also a 


The Roundup is a chart (created using 
Print Factory's "First Edition”) listing 
eleven of the hottest products 
available for and related to desktop 
publishing for ZX. Spectrums and 
TS20688. 


The chart indicates if the product is 
ZX and/or TS compatible, if it 
supports Disk 1/0, who it is available 
from, a short description and the 
approximate price. 


In coming issues we hope to publish 
Roundups for TSIO00, Ql and 288 
desktop publishing products. So check 
out page 4 of this issue, and look out 
for future "Roundups"! 


that it is a 16 point font and adjusts 
the program for it, 


Before LOADing a font into The Press, 
the user is asked if the font to be 
LOADed is a single or double height 
font. A double height’ font is a 16 
Point font, and it is loaded into the 
FONT 2 and FONT 3 memory locations 
within The Press. 


But so far all we have talked about is 
the 16x68 paint fonts.so how does the 
user LOAD and use 16x36 point MEGA 
fonts? It is all done using a little 


printed, we need to use two key 
presses, 
{See FONTS on page 2) 


Sinclair Desktop Publishing Journal 


Spring 1991 Page 2 


romts 
from front page. 


The firet half of the MEGAfont character is the CAPS 
SHIFT or shifted character and the second half is the 
un-shifted character key press. Of course this means that 
the user can only have the uppercase or the lowercase 
character set in memory at one time. 


Conclusion: 16 paint and 16 point MEGAfants provide better 
character resolution for large paint fonts This makes 
them excellent for headlines over the conventional method 
of using a “Double” function to double the height of 8x8 
point fonts (as per Pixel Print) They are also an excellent 
enhancement to The Print Factory's The Press. 


Now, for an actual Pixel Print look at Mountaineer 
Software's 16 point and 16 point MEGAfonts, turn to page 
Rh 


Master-Scribe 
from front page— 


Maeter—Scribe was originally sold through E Arthur Brown 
company until Brown stopped carrying Timex Sinclair 
products, | also beleive that the authors sold the product 
directly. Numerous sinclair users, including myself have 
tried to contact the Mike and Denise Hawks about 
purchasing copies of the product. In each instance, there 
‘was no response at all. 


I was able to obtain a copy of the program and the user 
manual from a member of my user group. All 1 can 
recommend is that you try to find a copy (to make a copy 
from} If you are unable to obtain a copy, the SDPJ will 
provide a copy of the program{s) and the documentation for 
$10.00 which will cover the cost of tape and documentation 
duplication. 


Now let's take a look on page S at my initial two nights 
exploring Master-Scribel! 


Panasonic KX-P1091 9 pin dot-matrix printer. 
Lew 


Where to Write for Prodgucts Mentioned in this 
month's Simciatr Desktop Publishing, Journal 


This issue was created using Word-Master for pages 1 and 2, Pixel Print for page 3, The Print Factory's 
First Edition LO for page 4, and Master-Scribe for pages 5 and 6 All original printing was done on a 


Byte Power Magazine 
1748 Meadowview Avenue 
Pickering, ON LIV 3G8 
Canada 


DATEL Electronics Ltd. 

Govan Road 

Fenton Industrial Estate 

Fenton, Stoke-On-Trent ST4 2RS 
England 

0782-744707 (24 Hr. Order Line) 


Ed Grey Enterprises 
P.O. Box 2166 


Support Your Dealers England 
081-200-8870 (24 Hr. Order Line) 


Sh) Sprang 1991 Issue 


DEE 


Since a picture is vor th a 
thousand words Cor so they say>, 
let’s take a_look Mountaineer 
Softuare’s 16-Point fo 


HEADLINE 

ABCDEFGHI JKLMNOPQRSTUN XYZ 
[BH 

ABCDEF GHI JKLMNOPORSTUVWXY2 
MER 
RBCDEFGH | JKLIMOPORSTUVUAYZ 


ADVENTURE 
ABCDEFGHTIKLMNOPORSTUVURYZ 


OUTLINE 
ABCHEFGNY ILAMOP ARS TUNE PZ 


GATSBY a 
ABCOEP GMT IKLIMOPERSTLMUKYZ 


This now brings us te 
Mountaineer Software MEBATS nts. 
e xe 


HELVET | CA 


helvetica 


TIMES 


times 


OUTLINE 


eut line 


CXFCRD 
oxford 
AAA AM ETE 

ageeseee 


HELVETICA 
ABCDEF CHI JKLMNOPQRSTUUWXYZ 


TIMES 
ABCDEFGH | JRLNNOPQRSTIUWA YZ 


(lobe nick 
[SIEICIOIEIFIGIH( KIL IMINIOIPIajRs|Tiulutulyyiz 


tom 


RIT? 

ABUDEPGHI JRLMNOPORSTUPUKYE 
aTNCLAIR 

ABCOEF GHT JKLIMIMOPORS TUVUIXYZ 
GRANDPA X 

ABCDcr GHi JKLANOPORSCUVWXYZ 


may be" 
LOADed directly into nee ne! Print 
or Print Factory’s “The Press"t 


Rn a i i 
NEW YORK 
mew york 


IPL AIPIPIEIR 
f (aeper 


HARCUERE 


ART DECO 
art deco 


GRANDPRIX 
grandprix 


narques 


oth er an lowercase 2fonts 
Eeeh *LBRBEG generated 


fo nts 
below are AA lied in’ uPpPpe 
characters BhEs: pairks 


BR | SBAINE 
BROADWAY 


Che Sinclair Desktop Publishing Journal Epring j99) Page Bes 


THE GREAT SINCLAIR == DESKTOP PUBLISHING 
JOURNAL PRODUCT ADUNQUP FOR Ser eco 


e 


Description Price 


Create just about 
Shetnin’d with this 
Package of prograns 


Print Factory 


Nord-Haster 


Most flexable and 
professional DTP 
package for Spectrum 


Pixel-Print 


The opiginal heavy 
gue y DIP pragran. 
Not’ a flexah e as 


The BEST 4 ghaphics 

Bar for Spectrun,. 
TEL Ltd. ine ludes 

Genius Mouse & I/F. 


Excellent Spectrun 
video digitizer . 

Some report 1t works 
with Std. TS2ee6s8. 


One _ of a Kind SCHEEN 
Manipulator for DIP 
neat for special 
effects. Menu driven 


Lots of neat stuff 
a Sonplinent eur 
Printer ARGES” BRS". 


28 Super fonts+ $22.95 
Manager & word proc. 
19 nifty, unique Varies 
fonts G manager pgn. 
Great font manager $26.86 
utility nice fonts 
You might as well 
sell your system if 
you don’t own theset 


te Power Magazine Only 
you canngt Find a coPy, contact SDP. 
mice epends on postage copying cos 
RATER. Lid, England - 
44120- aS Gair. five, Seattle, HWA 98116. 
ported, op Gan easily be converted via BASIC, 
Supported, although there is an Art Studio to 
conversion by_a third party There is no Known 
rsK conversion for First Class Fonts it 


Wi 


OCP Art Studio 


£29.95 
(Sale) 


VideoFace 


Pix-FX 


Print Factory 
Companion Series 


Pixel Print Font Pkg, 
dack Dohany Font Mgr, 
Bnd’ Zebra’ [eon Pkgs., 


the, aoe 


pesnons ibte 
for chance 
errors. 


BHD pd 
a eee 


Sunclairc Desktop Publishina Journal SPpcinga 1991 Page £ 


Naster-Scribe, The First Evening 


after looking over the users manual, I decided that my first 
goal was “Type and Print". I decided to Start with version 
1.4 which drives Epson compatible printers through the ferco 
parallel printer interface CI really wanted to see some 
full-size printer output through my Panasonic3y. So, I 
Slapped in the version 1.14 cassette and Master-Scribe i.4 


LosDpDed HE FIRST TIME! 


Next, I decided to follow the tutorial. I know...most of US 
are "If all else fails, read the instructions” type people, 
but in the case of Master-Scribe, it is a good idea to at 
least browse through the owners manual as I did. You see, 
Master-Scribe iS not only a multi-program set, but it also 
operates in &@ multi-mode environment. Things are not 
exactly "What you see iS what you get"! 


‘he first feature which impressed me was the documentation. 
It was completly produced using the Master-Scribe software 
itself. The output for the manual is very impressive from 
both TS262O6 and full-size dot-matrix printers. 


The second feature 1 was impressed with Cand I thought would 
win the hearts of many a TS106® user} was the swift speed of 
the Keyboard entry. Screen jump was also minimal except 
during deletes and cursor movements. I was also pleased 
with the ease at which "modes" are changed to access special 
Features. But before we start looking at the different 
“modes", let us take a look at the five Cyes I did say Fives 
different programs that make up the Master-Scribe 
callection. 


The Five Programs of Master-Scribe 


Feep in mind that the TS10@0 and TSsi500 conputers are not 
the most memory wealthy computers. Therefore, in order to 


43 


provide numerous features in such a restrictive system, five 
seperate Master-Scribe programs were developed: 


versio 
versio 
versio 
versio 
versio 


So to sum up, we have tuo versions of the program which will 
work With the TS2@26 printer, and three versions for driving 
Full-size printers through the ferco printer interface. 
Thus we have five programs with the exact same feel in 
editing and operations, but each with different output 
drivers and fonts. 


The Second Evening, Graphics 


One of Master-Seribes better features is its ability tr 
print graphic characters within text Cexcept version 1.22. 

MY Second evening was "In Search of Graphics"! This second 
page iS an example of using TS1@@@ graphics to create a box 
around text. The box was much more difficult than I thought 
it was going to be, but the graphics below were much easier. 
Let’s take @ iook at & sampling of the graphic characters 
available: 


TSiG@e@ Biock Graphics: 8 ee Boe MW Ea 2 
Card Symbols: AVOL 

Mise. Punctuation: o£ Pe COVE CIM ACIN GHETTO LE 
Misc. Symbols: BVYTHOBTARTA~S e445 


Finally... 


Our final page for this issue is a special appendix for the 
commands’features available from Mike Hawk's Master-Scribe 
for the TSiGO® family... 


44 


SDPJ SPECIAL APPENDIX PAGE FOR MASTER-S SPRING 1991 


A List of 
Master-Scribe Commands 


Left Justification 
Right Justification i 
center Text 
Full (Left ¢ Right) Justification 


Start+stop Underline 
Inverse Printing 
Subser ipt 
superscript 
Normal Characters 
Tall Characters (Double Height) 
Page Start CFormreed} 


Single space Linefeeds (Graphics) 
Double Space’ Linefeeds 

And in addition to these, there are Main Menu commands to 
Copy, Move, Delete, Print and Save Cto cassette "Marked" 
Sections of textrgraphics. You can even Define words for 
creating form letters. Lastly, there are commands for 
Jumping to the Beginning and End of the file and Search for 
words. 


Look for more articles on Master-Scribe in future issues oF 
the Sinclair Desktop Publishing Journal! 


49 


QL Desktop Publishing by Frank W. Davis 


This issue I want to take a look at Page Designer, the DTP 
program offered by QUANTA. For those interested in actually 
playing around with this program, contact the North American 
QUANTA Librarian, Paul Holmgren at 5231 Wilton Wood Ct., 
Indianapolis, IN 46254. If you get this from him, make sure you 
also get Ron Dwight’s screen handler, also in the library. This 
is needed in order to use Page Designer. Next issue we will be 
at least doubling the QL DTP section so we can get more data on 
these programs to you at a faster rate. 

You will need expanded memory to handle the screens you 
create using this program. All DTP programs use more memory for 
a page than a word processor does. This program can be 
configured to run from either disk or from microdrive cartridge. 

This program allows you to create large pages of mixed 
graphics and text, in columns, for the production of 
newsletters, magazine pages, posters, banners (with a = program 
such as Writeturn) or advertising layouts. The limits are those 
you place on the program, combined with your literary and 
artistic talent. Computers help in this area, but only so 
much...sigh! 

The program comes equipped with several text fonts (styles 
of print and sizes) and also has a program to create additional 
fonts of your own. You may also import fonts created by others. 
There is a separate high resolution character set to be used for 
detailed enlarged text such as titles and headings. Graphics can 
also be stored and called up by this utility. The character 
editor is easy to use. 

There is no 24 pin printer driver for the program; instead 
we are limited to the 8 pin bit image mode. I have 24 pin 
printer drivers, but have not hacked around trying to use one of 
them with this program. Despite this fact, I feel that this is 
an excellent way for the QL owner to get involved with desktop 
publishing. The only other things I was disappointed in was that 
there is no text editor and that the program runs in monochrome 
(though stippling allows grey shading to be done during 
printout). 

I mentioned that there is no text editor, however you may 
use any file that is available to you in a QL text editor or 
word processor program. This means that you can create- your 
files in Quill, The Editor, etc. and then import them, assign a 
font and size, and use them in an assigned column. Any ASCII 
file can be imported. 

The entire program is menu driven, and the manual for the 
programs come as Quill doc files, so you can print them out for 
future use. You will have 6 supplied fonts, 9 hi-res fonts. You 
will find it can lift and save part of a screen for use later 
for cut and paste to create new pages. There are a number of 
graphic screens that come with the program, such as a “silly 
lion, flower pot, camera, teapot, the boss, etc. Anything that 
can be found on a QL screen should be able to be lifted and 


saved, so you should soon, with a little effort, have a large 
library of graphics to use in your desktop publishing . You can 
also create your own graphics screens, by the use of lines, 


sketching, circles, rectangles, arcs, polygons, ellipses, etc. 
These can then be filled or painted. This rather reminded me of 


Tech Draw dr. for the TS2068. 
Please take the time to obtain this program and = check at. 
out. You will find out how much fun desktop publishing can be. 


46 


QLUSTer_LITE 
by Al Feng 


QLUSTer 4.350 (aka ” LITE”) is the latest version of the 
program which evolved from QLUTter (and previously, the 
SuperBASIC program: QL_AutoDirectory 1.9) 


The sequence of the program’s "options” on the COMMAND 
page has been altered to: 


These options appear ina "line” near the top of the 
COMMAND page. A highlighted bar is moved to the right by 
pressing the “TAB” key or using a “shift TAB” key 
combination to move the bar to the left. The “Space Bar” 
is then pressed to "open” the option. 


Those familiar with the program will note that the "HELP” 
page is no longer available from the COMMAND page. The 
HELP page has been removed to reduce the program size, 
but is still available in an expanded form by EXEC_Wing 
the HELP_EXE program from within QLUSTer or as a 
stand-alone program. 


Removal of the "HELP" page and re-coding has resulted in 
a program whose TURBO-compiled size is 5K smaller than 
the more recent versions. At the same time, an 
additional ERRor TRAP for insufficient disk space has 
also been incorporated. 


"FLIST_imp” (FileLIST_imp) file replaces the 

"FILE. DIRectory" as the dynamic, program file and can be 
IMPORTed directly into QLWP/Quill for printing ina 
columnar and/or condensed format; thereby, eliminating 
the need for the supplemental SNAPSHOT program. 


Unlike other utility programs, QLUSTer uses the "full" 
screen for displaying filenames; so, instead of watching 
ten-or-so files scroll by, you can view up to 76 
filenames per page (608 total capacity). While this 
number may be overwhelming at first, you will probably 
find it more convenient to review a lot of filenames at a 
time when scanning a "mystery" disk. 


QLUSTer’s "VIEWing" feature is "full" screen rather than 
a" bunker” window. This makes "reading” true_txt files 
convenient compared with COPYing to screen or IMPORTing 
into QUILL (a very slow process for long document_txt 
files). 


47 


The "VIEWing"” feature can be interrupted prior to reaching 
the end of the file. Any file can be "VIEWed"; but, files 
will have less meaning. 


QLUSTer provides a fast and convenient DATES setting 
mechanism. (W)COPYing. (W)DELeting, "PRINTing"/SPooLing & 
RENAMing files is equally convenient. Any valid medium 
can be easily FORMATted. Determining file “WSTATus" is 
provided as an as needed feature, rather than occupying 
the directory window 


QLUSTer provides access to all drives via either the 
cursor keys or a few easy key strokes 


QLUSTer can be used to EXEC_W or EXECute (as within 
QRAM); but, TASKMASTER users must sacrifice 32K for a 
screen-save or LOAD via FILES after the TASKMASTER’s 
autoload sequence. 


QLUSTer is designed to be convenient for everyone; and, 
touch-typists should find it particularly convenient when 
compared with most other utilities. 


Not convinced that QLUSTer is the utility for you to use 
2 

If you do want a sense of where QLUSTer came from, you 
can preview an older version of QLUTter intended for 

use on a TV or “short monitor is on the CATUG PDL Disk 1 
(this is also T/SNUG Disk 01). Send a $2.00 check made 
GUt, VO. Sess Sars SSar 


format), !{{{{ ! f------------------5------------ === 
but a coupon for $2.00 off a direct PLATYPUS Software 
purchase; or, a future CATUG PDL disk <(if we ever expand 
aur QL library, that is!>. 


All current and previous versions of QLUSTer (and, 
QLUTter) are compatible with the MINERVA ROM code, so no 


excuses, 


All "registered" QLUSTer and/or QLUTter users (PDL 
version dces not qualify) can get the most recent copy of 
QLUSTer by sending only $2.00 to: 


Al Feng 
15 Wake Robin Court 
Woodridge, IL 60517 


Don“t forget to specify your disk format (5.25” or 
3.5"), 


NOTE: Microdrive users should 


(1) send a check for $2.50 

(2) supply/send a good microcart; 

(3) specify the disk format that you think you may 
in the future; or, request the “coupon 


CHECK BOOK BALANCER 
Bill Woodward 


After struggling for years with unfriendly “canned” checkbook 
programs on the Sinclair cumputers, I decided that if ever to 
find one that was USER FRIENDLY, IT would have to take Ben 
Franklin’s advice and write it myself. 

The advent of the QL with Abacus (spreadsheet) program made 
this job about as simple as a dream. If one can read one”s bank 
statement and enter numbers in a computer one can “reconcile” 
one“s bank book. 

Since I am no programmer, but a plumbing instructor, I will 
present the steps of in a way that should be easy for us, both. I 
am assuming that you are as unfamiliar with the Spreadsheet 
program as I was at first, even, maybe a little afraid of it. 

Set your fears at rest, QL ABACUS is the easiest to use of 
the 4 Psion programs. You will be pleasantly surprised with the 
routine jobs that can be programmed on the ABACUS. ‘ 

In the program that follows, F3(the COMMAND key) and FO5(the 
GOTO key) apply to the function keys. Press the keys in the order 
given. 

Load Abacus into your QL. That was simple, wasnt it. The rest 
will be just as easy. You will, also, be shown a couple of short- 
cuts that I have learned the hard way. 

First, we need a title. FS-C1-ENTER-CAPS LOCK-"-CHECK BOOK 
RECONCILATOIN-ENTER-CAPS LOCK. 

Underline the title with a row of "=", F5-C2-ENTER-rept("=", 
len(Cl)>-ENTER. 

Write “month” in ~C“~ column row 4 and the name of the month 
asked for in “D° column, F5-C4- ENTER-"-Month-ENTER-FS5- D4-ENTER- 
askt("month")-ENTER. You will see “month?” in the input cell, 
Hit ENTER. Write “Opening balance” in A6 and the amount in C6. 
F5-A6-ENTER-" -Opening balance- ENTER-FS5-C6-ENTER-askn(" opening 
balance”)-ENTER. You will see “opening balance?“ in input cell. 
You cannot get away with ENTER this time. You will have to enter 
a number, O will do. 

On the next line, write the column headings. F5~A7- 
ENTER-"-Date-ENTER-A5~-B7-"'~Check~ENTER-F5-C7-""-Name~ENTER- F5-D7- 
ENTER-"-Deposit-ENTER; FS-E7-ENTER-"-check no.- ENTER; F5-F7- 


ENTER-"'—Amount-ENTER; F5-G7-ENTER-" -Balance- ENTER, Right 
justified the heading titles. F3-J~ENTER-ENTER-R- A7:G7-ENTER. 
Underline the headings. F5-A8-ENTER-rept("=",78)-ENTER. Seven- 


ty-eight "=" will be typed in row 8. 

Put a zero in G9. Then F3-E-G9-ENTER (change range to D10:G60) 
ENTER. To put the opening balance cell G9, F5-G9-ENTER-C6-ENTER. 
To make 0 into 0. 00-F3-U-ENTER-ENTER-ENTER-D10:G60. Do the same 
for C6. 


49 


Be Mprigueg Py sl sty 


’ 


{ % 


Initialize row 10. FS-C10-ENTER-askn("check number")-ENTER; 
F5-D10-ENTER-O-ENTER. 
The expression in G10 that differentiates between a check and 


a deposit is similar to the IF...THEN...ELSE... of superbasic. 
(See page 44 of your Abacus user°s guide.) IF(expression, true, 
false). IF the “F~ column has a number in it, to the computer it 


is a “DEPOSIT and “THEN” adds the amount in F#¥ to the previous 
balance in G-1#. IF the “F° column has a zero(0.00) in it, the 
computer assumes a “CHECK” and “ELSE“ subtracts the amount in 
column “E#° from the previous balance in G-1#. 

For a deposit, ENTER sum in column “F~ and "dep in column “C™ 
in place of the next check number. ENTER the next check number in 
C column, next row. F5-G10-ENTER-IF(F10, G9+F10,G9-E10). ENTER a 
check number counting expression in cil. F5-C11- 
ENTER-10+1-ENTER. 

The short cut I promised is next. I found this quite by ac~ 
cident when I first Echoed the number counting expression down 
the D column. Imagine my surprise when the row numbers aligned 
themselves. The same event happened in the G column. F5-D10- 
ENTER-F3-E-ENTER-D11:D60-ENTER; F5-G10-ENTER-F3-E-ENTER-G11: G60- 
ENTER. We have used the E(cho) command to echo part of row 10 all 
the way to row 60. The serendipitous part of this is that each 
command automatically changes the row number to its present row 
number. 

A little “dolling up~ will finish the spreadsheet. F5—EQ-EN- 
TER-F3-U-ENTER-ENTER-ENTER-E9:G60-ENTER will give two decimal 
places to all money cells. 

The one final command embeds a printer command in cell B61. 
F5-B61-ENTER-CHR(0)+CHR(12) gives us a FORM FEED to expel our 
statement from the printer. When your curser is in cell B61 the 
CONTENTS cell shows (" "), 

SAVE your CHECK BOOK BALANCER! 


$S80-6€/008 ATW TIOL + OSO9#9E0/108 XVI + SSBB-Szc/108 
TUS YIN AD AMET MES « FANS AEIS WANS LOTT 


198187] 
AvZor 
MZIs 
Arse 
M9St 
A8zt 
Wwva 


SITIOSsadIIY 


ior wyed Aroneq 


JOMOd OIDVIA PUL SO[pueY FQuIeNET YA VSeD sOWIEET 


passardwo; 
SaBp1i3182) 
isgorid aacge oy 01 ppe 
(aBreyo moy ¢ & Burpsou o10joq asn syoom 7) 
yor wyed Araneq 
TOMO OIDWIN PUB SO[pUeY PoxTy YIM ased OyIEE] 


ssp) ~WONdT 
jsor Wed 9yIVIY YI OUT YINq youd AlsNeVg sqQusreyooy 


sounds 
oos6s 
00'0rr 
00°C6T 
isy  Burm0s 
oo'ss 
00°681 
00°0SZ 
00°6EST 
00'SPOT 
forse 
"688 
00°6SS 
00°6¢S 
00'6b> 


WOU WO aqeTeAE _ dOOS* 
10g seynsoy 


pus 
(so1saieq oureyye ofqesodsip uo syyuou 9-7) 


(so1zoneq outeyye ojqesodsip uo syiuoul 9-7) 


“WT ‘SULDISAGOLQWH 


°$99 play182 


syooq 


aq 


sal [etadg 1ayndwop punod z 


\Ue}SISSY [eUOSIag,, sWIa}SAS OID WIA 


fepads 


‘O 


00°S6r 

00°6r7 
00°S7Z1 
OO°SLL 
00°09 
00°rrs 
00°S6E 
OO'SLE 
00'StE 

190d 


00671 
T66T JO sa1send 


TS2068 UPDATE ISSUE DISKS 


These disks contain at least one major piece of software written 
specifically for disk drive and are guaranteed to be worth the 
money. The rest of the disks are filled with various utility 
programs taken from the issues of UPDATE anda few surprises 
thrown in. Half of the money goes to the author and is meant to 
encourage new programming for the TS2068 that makes use of the 
various disk drive systems. Presently we are offering disks for 
the Larken and Oliger Interfaces, but have programs available 
for the Aerco (just as soon as I hear that there is a demand to 
have available). All are $20.00 per disk (add $1.00 Canada) and 
include postage and handling. The programs have been Temporarily 
lowered in price to make them more widespread among the TS2068 
Users! Both 3 1/2 and 5 1/4, 40 and 80 track available. Please 
add $5.00 for mailing to other countries. We accept personal 
checks, company checks, money orders as well as International 
Postal Money Orders. We do not have facilities for charge cards. 


1) MITCHELL BUDGET DISK, with wide spreadsheet printer driver, 
MS-TAS and various other utilities. Available as either Larken 
or as Oliger format. 


2) Bob Hartung DOSDEX UTILITY ISSUE DISK, a complete disk 
management group of programs for the Oliger Interface only. This 
includes Multi-Manager for file handling. This collection has 
recently been updated. 


3) MAIL MERGE ISSUE DISK, Oct 87 and Jan 88 issues of UPDATE 
utilities added to fill out this disk. Includes a tutor program 
for the Mail Merge program, List Looker, Purity, J-Utilities and 
Extra Memory Utilities. 


4) MITCHELL VIEW CALC ISSUE DISK, forget the old slow VC for 
tape! The rest of the disk is filled with other utilities 
plus some Public Domain for fillers. At this time for Larken 
format only. 


5) OLIGER DISK DRIVE BBS PROGRAM, this allows users of the 
Oliger interface to be able to operate a disk based bulletin 
board from the TS2068. The disk is also filled with many other 
Oliger disk routines and tips on using the Oliger System. New by 
Paul Holmgren. Can use upto four DSQ@D disk drives. 


6)The HYBISCUS ENSEMBLE, consisting of two separate, but 
complimentary sets of programs. A) Daisy.B6 Ensemble, and 8B) 
Udbm.B6 Ensemble. LKDOS only, $22 each or $36 for both. The best 
file and database available for Larken, by Bill Jones. The price 
remains the same on this one, no change. wordprocessor included. 


UPDATE COMPUTER SYSTEMS invites you to submit software programs 
that may become Issue Disks. Please submit program on disk, with 
documentation and article to accompany the program. We are here 
to get North American software available and Known. We also 
solicit minor programs, tips and utilities for print in future 
issues of the magazine. Please do not submit unlistable programs 
or copy protected programs. 


@L UPDATE ISSUE DISKS 


These disks contain at least one major piece of software written 
specifically for disk drive and are guaranteed to be worth the 
money. The rest of the disks are filled with various utility 
programs taken from the issues of UPDATE and a few surprises 
thrown in. Half of the money goes to the author and is meant to 
encourage new programming for the QL that makes use of the 
disk drive systems, and microdrives on both the expanded = and 
unexpanded QOL. Where possible we will give a version for each of 
these configurations. Some of the programs take advantage of TK2 
by Tony Tebby. All are 20.00, except QLuster, which is $15.00; 
includes P & H, add $1.00 CAN.Available as 3 1/2 or 5 1/4 disks. 


Add $5.00 for mailing to other countries. We accept personal 
checks, company checks, money orders as well as International 
Postal Money Orders, but no charge cards. If ordering on = MDV, 
then please include one that is already formatted, so we will 


know it will run on your QL. Due to the expense of MDVs this is 
necessary. If two MDVs are required we will state so in the ad. 


1) HARTUNG UTILITY ISSUE DISK- Several excellent programs such 
as stand alone data base, Address, and QSO files. All are in 


Superbasic. Lots of hints and tricks for programmers. Requires 
some knowledge of Superbasic or a yen to learn. Recently updated 


by Bob Hartung. Address file can be used as inventory program. 
It can print out labels. Both screen or paper printouts can be 
by Alpha sort, or be by last name. 


2) CABLE ARCHIVE ISSUE DISK- Contains six Archive programs along 
with Doc files to get you going on making use of the Archive 
programming janguage. Aiso has Tasket, pius Doc file, to give 
you multi-tasking on your QL (much cheaper’ than QRAM or 
Taskmaster). Included is Arithmetic, a Superbasic program for 
math, along with math drills. This is for both the advanced and 
beginner user and greatly extends the use of Archive. To order 
on microdrive send two formatted microdrives, too much for one! 


3) QLUSTER ISSUE DISK by Al Feng- Q@1 utilities to unclutter your 
disks and microdrives. COPY, DELETE, FORMAT, PRINT, VIEW, plus 
extended use of some Tool Kit 2 commands. TK2 is required. These 


are TURBO compiled for speed. Multitasks and uses minimal key 
presses. Includes Fast-Disk and Vegemat2, a super clone making 


program. Also Snap Shot-a directory column or condensed printout 
program. 


4) DOS EMULATOR COMPANION ISSUE DISK by Al Feng- Just released 
in Oct. issue. Makes better use of Solution, PC Conqueror, 
DisCover, XOVER, @Luster and scr_codes. If you are going to use 
the emulators, then check this out, you won’t regret this buy. 


5) QLuMSi DOS by Al Feng- a MSDOS simulator and front end 
program for the OL, also includes other programs by AL Feng for 
file management and cloning of programs. A Great Learning Tool 


UPDATE COMPUTER SYSTEMS invites you to submit software programs 


that may become Issue Disks. Please submit program on disk, with 
documentation end article to accompany the program. We are here 
to get North American software available and known. We solicit 


programs, tips, reviews and utilities for future issues.